]> granicus.if.org Git - llvm/commitdiff
[Reassociate] auto-generate better checks; NFC
authorSanjay Patel <spatel@rotateright.com>
Fri, 13 Oct 2017 20:56:35 +0000 (20:56 +0000)
committerSanjay Patel <spatel@rotateright.com>
Fri, 13 Oct 2017 20:56:35 +0000 (20:56 +0000)
These would fail if the created variable names changed.

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

test/Transforms/Reassociate/2002-05-15-SubReassociate.ll
test/Transforms/Reassociate/subtest.ll

index 29c178ffec3ec9c9b85351eface88fdd865043bd..8039ddef44e8256a32f2e626cba40908b5bb619d 100644 (file)
@@ -2,25 +2,25 @@
 
 ; With sub reassociation, constant folding can eliminate all of the constants.
 define i32 @test1(i32 %A, i32 %B) {
-; CHECK-LABEL: test1
-; CHECK-NEXT: %Z = sub i32 %A, %B
-; CHECK-NEXT: ret i32 %Z
-
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[Z:%.*]] = sub i32 %A, %B
+; CHECK-NEXT:    ret i32 [[Z]]
+;
   %W = add i32 5, %B
   %X = add i32 -7, %A
   %Y = sub i32 %X, %W
   %Z = add i32 %Y, 12
   ret i32 %Z
 }
+
 ; With sub reassociation, constant folding can eliminate the two 12 constants.
 define i32 @test2(i32 %A, i32 %B, i32 %C, i32 %D) {
-; CHECK-LABEL: test2
-; CHECK-NEXT: %sum = add i32 %B, %A
-; CHECK-NEXT: %sum1 = add i32 %sum, %C
-; CHECK-NEXT: %Q = sub i32 %D, %sum1
-; CHECK-NEXT: ret i32 %Q
-
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    [[SUM:%.*]] = add i32 %B, %A
+; CHECK-NEXT:    [[SUM1:%.*]] = add i32 [[SUM]], %C
+; CHECK-NEXT:    [[Q:%.*]] = sub i32 %D, [[SUM1]]
+; CHECK-NEXT:    ret i32 [[Q]]
+;
   %M = add i32 %A, 12
   %N = add i32 %M, %B
   %O = add i32 %N, %C
@@ -28,3 +28,4 @@ define i32 @test2(i32 %A, i32 %B, i32 %C, i32 %D) {
   %Q = add i32 %P, 12
   ret i32 %Q
 }
+
index e6263d85522c9051f9fdf0a9219e7c9cc0772008..c1a80e26ce6d93f21f46375b65c5da4ca08bcd14 100644 (file)
@@ -2,9 +2,10 @@
 
 ; With sub reassociation, constant folding can eliminate the 12 and -12 constants.
 define i32 @test1(i32 %A, i32 %B) {
-; CHECK-LABEL: @test1
-; CHECK-NEXT: %Z = sub i32 %A, %B
-; CHECK-NEXT: ret i32 %Z
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[Z:%.*]] = sub i32 %A, %B
+; CHECK-NEXT:    ret i32 [[Z]]
+;
   %X = add i32 -12, %A
   %Y = sub i32 %X, %B
   %Z = add i32 %Y, 12
@@ -13,14 +14,15 @@ define i32 @test1(i32 %A, i32 %B) {
 
 ; PR2047
 ; With sub reassociation, constant folding can eliminate the uses of %a.
-define i32 @test2(i32 %a, i32 %b, i32 %c) nounwind  {
-; CHECK-LABEL: @test2
-; CHECK-NEXT: %sum = add i32 %c, %b
-; CHECK-NEXT: %tmp7 = sub i32 0, %sum
-; CHECK-NEXT: ret i32 %tmp7
-
+define i32 @test2(i32 %a, i32 %b, i32 %c) {
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    [[SUM:%.*]] = add i32 %c, %b
+; CHECK-NEXT:    [[TMP7:%.*]] = sub i32 0, [[SUM]]
+; CHECK-NEXT:    ret i32 [[TMP7]]
+;
   %tmp3 = sub i32 %a, %b
   %tmp5 = sub i32 %tmp3, %c
   %tmp7 = sub i32 %tmp5, %a
   ret i32 %tmp7
 }
+