diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-03-14 06:54:32 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-03-14 06:54:32 +0000 |
| commit | c714f268bf27b743961b02bc0e0f2a6d330a0ab1 (patch) | |
| tree | ea930f0d671dfcf3d03b0d3b5538bc5e8d032e22 | |
| parent | 3e2d463a872cb35a5c6eb2066a4b4eaab4bae555 (diff) | |
| download | bcm5719-llvm-c714f268bf27b743961b02bc0e0f2a6d330a0ab1.tar.gz bcm5719-llvm-c714f268bf27b743961b02bc0e0f2a6d330a0ab1.zip | |
Test that we can reassociate (x<<1)+(y<<1) -> (X+Y)<<1.
llvm-svn: 26752
| -rw-r--r-- | llvm/test/Regression/Transforms/Reassociate/shift-factor.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll b/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll new file mode 100644 index 00000000000..b0499f5cb25 --- /dev/null +++ b/llvm/test/Regression/Transforms/Reassociate/shift-factor.ll @@ -0,0 +1,11 @@ +; There should be exactly one shift and one add left. +; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | grep shl | wc -l | grep 1 && +; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 + +int %test(int %X, int %Y) { + %tmp.2 = shl int %X, ubyte 1 ; <int> [#uses=1] + %tmp.6 = shl int %Y, ubyte 1 ; <int> [#uses=1] + %tmp.4 = add int %tmp.6, %tmp.2 ; <int> [#uses=1] + ret int %tmp.4 +} + |

