summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Reassociate
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-04-22 10:11:26 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-04-22 10:11:26 +0000
commit8ffa7c8afdba2f8a725762e2e643e83591e47839 (patch)
treeb2db330c5371d15c7d84e49ec204017a5877f331 /llvm/test/Transforms/Reassociate
parentf6f57535ed45bc1bb3044d895b5e2d689fe16572 (diff)
downloadbcm5719-llvm-8ffa7c8afdba2f8a725762e2e643e83591e47839.tar.gz
bcm5719-llvm-8ffa7c8afdba2f8a725762e2e643e83591e47839.zip
Tidy up this test more:
1) Make the checked assertions a bit more precise. We really want the canonical forms coming out of reassociate to be exactly what is expected. 2) Remove other passes, and switch the test to actually directly check that reassociate makes the important transforms and canonicalizations. 3) Fold in a related test case now that we're using FileCheck. Make the same tidying changes to it. llvm-svn: 155311
Diffstat (limited to 'llvm/test/Transforms/Reassociate')
-rw-r--r--llvm/test/Transforms/Reassociate/mulfactor.ll30
-rw-r--r--llvm/test/Transforms/Reassociate/mulfactor2.ll15
2 files changed, 23 insertions, 22 deletions
diff --git a/llvm/test/Transforms/Reassociate/mulfactor.ll b/llvm/test/Transforms/Reassociate/mulfactor.ll
index 0afcbf9c87b..5e6fbeb1cac 100644
--- a/llvm/test/Transforms/Reassociate/mulfactor.ll
+++ b/llvm/test/Transforms/Reassociate/mulfactor.ll
@@ -1,11 +1,13 @@
-; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s
+; RUN: opt < %s -reassociate -S | FileCheck %s
-define i32 @f(i32 %a, i32 %b) {
-; CHECK: @f
-; CHECK: mul
-; CHECK: mul
-; CHECK-NOT: mul
-; CHECK: ret
+define i32 @test1(i32 %a, i32 %b) {
+; CHECK: @test1
+; CHECK: mul i32 %a, %a
+; CHECK-NEXT: mul i32 %a, 2
+; CHECK-NEXT: add
+; CHECK-NEXT: mul
+; CHECK-NEXT: add
+; CHECK-NEXT: ret
entry:
%tmp.2 = mul i32 %a, %a
@@ -17,3 +19,17 @@ entry:
ret i32 %tmp.11
}
+define i32 @test2(i32 %t) {
+; CHECK: @test2
+; CHECK: mul
+; CHECK-NEXT: add
+; CHECK-NEXT: ret
+
+entry:
+ %a = mul i32 %t, 6
+ %b = mul i32 %t, 36
+ %c = add i32 %b, 15
+ %d = add i32 %c, %a
+ ret i32 %d
+}
+
diff --git a/llvm/test/Transforms/Reassociate/mulfactor2.ll b/llvm/test/Transforms/Reassociate/mulfactor2.ll
deleted file mode 100644
index 8116554196f..00000000000
--- a/llvm/test/Transforms/Reassociate/mulfactor2.ll
+++ /dev/null
@@ -1,15 +0,0 @@
-; This should turn into one multiply and one add.
-
-; RUN: opt < %s -instcombine -reassociate -instcombine -S > %t
-; RUN: grep mul %t | count 1
-; RUN: grep add %t | count 1
-
-define i32 @main(i32 %t) {
- %tmp.3 = mul i32 %t, 12 ; <i32> [#uses=1]
- %tmp.4 = add i32 %tmp.3, 5 ; <i32> [#uses=1]
- %tmp.6 = mul i32 %t, 6 ; <i32> [#uses=1]
- %tmp.8 = mul i32 %tmp.4, 3 ; <i32> [#uses=1]
- %tmp.9 = add i32 %tmp.8, %tmp.6 ; <i32> [#uses=1]
- ret i32 %tmp.9
-}
-
OpenPOWER on IntegriCloud