diff options
Diffstat (limited to 'test/Transforms/Reassociate/mul-factor3.ll')
-rw-r--r-- | test/Transforms/Reassociate/mul-factor3.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/Reassociate/mul-factor3.ll b/test/Transforms/Reassociate/mul-factor3.ll new file mode 100644 index 0000000..1272ff6 --- /dev/null +++ b/test/Transforms/Reassociate/mul-factor3.ll @@ -0,0 +1,16 @@ +; This should be one add and two multiplies. + +; RUN: llvm-upgrade < %s | llvm-as | \ +; RUN: opt -reassociate -instcombine | llvm-dis > %t +; RUN: grep mul %t | wc -l | grep 2 +; RUN: grep add %t | 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 +} |