diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll | 14 | ||||
| -rw-r--r-- | llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll | 4 | 
2 files changed, 16 insertions, 2 deletions
diff --git a/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll b/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll new file mode 100644 index 00000000000..773569e3dfb --- /dev/null +++ b/llvm/test/Regression/Transforms/Reassociate/mul-factor3.ll @@ -0,0 +1,14 @@ +; This should be one add and two multiplies. + +; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 2 && +; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 + +int %test(int %A, int %B, int %C) { +	%aa = mul int %A, %A +	%aab = mul int %aa, %B + +	%ac = mul int %A, %C +	%aac = mul int %ac, %A +	%r = add int %aab, %aac +	ret int %r +} diff --git a/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll b/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll index e2c1a79bc5f..20a28a45a03 100644 --- a/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll +++ b/llvm/test/Regression/Transforms/Reassociate/mulfactor2.ll @@ -1,7 +1,7 @@  ; This should turn into one multiply and one add. -; RUN: llvm-as < mulfactor2.ll | opt -instcombine -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 1 && -; RUN: llvm-as < mulfactor2.ll | opt -instcombine -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1 +; RUN: llvm-as < %s | opt -instcombine -reassociate -instcombine | llvm-dis | grep mul | wc -l | grep 1 && +; RUN: llvm-as < %s | opt -instcombine -reassociate -instcombine | llvm-dis | grep add | wc -l | grep 1  int %main(int %t) {          %tmp.3 = mul int %t, 12         ; <int> [#uses=1]          %tmp.4 = add int %tmp.3, 5              ; <int> [#uses=1]  | 

