Tidy up this test more:
authorChandler Carruth <chandlerc@gmail.com>
Sun, 22 Apr 2012 10:11:26 +0000 (10:11 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 22 Apr 2012 10:11:26 +0000 (10:11 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155311 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/Reassociate/mulfactor.ll
test/Transforms/Reassociate/mulfactor2.ll [deleted file]

index 0afcbf9c87bf3261b1199a895af98dc66df598a4..5e6fbeb1caccb0db5dc2358ad6a611241292f923 100644 (file)
@@ -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/test/Transforms/Reassociate/mulfactor2.ll b/test/Transforms/Reassociate/mulfactor2.ll
deleted file mode 100644 (file)
index 8116554..0000000
+++ /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
-}
-