[Reassociate] auto-generate test checks; NFC
authorSanjay Patel <spatel@rotateright.com>
Thu, 9 Nov 2017 18:26:49 +0000 (18:26 +0000)
committerSanjay Patel <spatel@rotateright.com>
Thu, 9 Nov 2017 18:26:49 +0000 (18:26 +0000)
llvm-svn: 317819

llvm/test/Transforms/Reassociate/factorize-again.ll
llvm/test/Transforms/Reassociate/fast-AgressiveSubMove.ll
llvm/test/Transforms/Reassociate/fast-MissedTree.ll
llvm/test/Transforms/Reassociate/fast-SubReassociate.ll

index 87e7794..e50860b 100644 (file)
@@ -1,10 +1,20 @@
 ; RUN: opt -S -reassociate < %s | FileCheck %s
 
-; CHECK-LABEL: main
-; CHECK: %2 = fsub
-; CHECK: %3 = fsub
-; CHECK: fadd fast float %3, %2
 define void @main(float, float) {
+; CHECK-LABEL: @main(
+; CHECK-NEXT:  wrapper_entry:
+; CHECK-NEXT:    [[TMP2:%.*]] = fsub float undef, %0
+; CHECK-NEXT:    [[TMP3:%.*]] = fsub float undef, %1
+; CHECK-NEXT:    [[TMP4:%.*]] = call float @llvm.rsqrt.f32(float undef)
+; CHECK-NEXT:    [[REASS_ADD2:%.*]] = fadd fast float [[TMP3]], [[TMP2]]
+; CHECK-NEXT:    [[REASS_MUL3:%.*]] = fmul fast float [[REASS_ADD2]], undef
+; CHECK-NEXT:    [[REASS_ADD1:%.*]] = fadd fast float [[REASS_MUL3]], fmul (float undef, float undef)
+; CHECK-NEXT:    [[REASS_MUL:%.*]] = fmul fast float [[REASS_ADD1]], [[TMP4]]
+; CHECK-NEXT:    [[TMP5:%.*]] = call float @foo2(float [[REASS_MUL]], float 0.000000e+00)
+; CHECK-NEXT:    [[MUL36:%.*]] = fmul fast float [[TMP5]], 1.500000e+00
+; CHECK-NEXT:    call void @foo1(i32 4, float [[MUL36]])
+; CHECK-NEXT:    ret void
+;
 wrapper_entry:
   %2 = fsub float undef, %0
   %3 = fsub float undef, %1
index 0c28ed1..6d9df1f 100644 (file)
@@ -1,12 +1,12 @@
 ; RUN: opt < %s -reassociate -S | FileCheck %s
 
 define float @test1(float %A) {
-; CHECK-LABEL: test1
-; CHECK-NEXT: %X = fadd float %A, 1.000000e+00
-; CHECK-NEXT: %Y = fadd float %A, 1.000000e+00
-; CHECK-NEXT: %r = fsub float %X, %Y
-; CHECK-NEXT: ret float %r
-
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[X:%.*]] = fadd float %A, 1.000000e+00
+; CHECK-NEXT:    [[Y:%.*]] = fadd float %A, 1.000000e+00
+; CHECK-NEXT:    [[R:%.*]] = fsub float [[X]], [[Y]]
+; CHECK-NEXT:    ret float [[R]]
+;
   %X = fadd float %A, 1.000000e+00
   %Y = fadd float %A, 1.000000e+00
   %r = fsub float %X, %Y
@@ -14,11 +14,12 @@ define float @test1(float %A) {
 }
 
 define float @test2(float %A) {
-; CHECK-LABEL: test2
-; CHECK-NEXT: ret float 0.000000e+00
-
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    ret float 0.000000e+00
+;
   %X = fadd fast float 1.000000e+00, %A
   %Y = fadd fast float 1.000000e+00, %A
   %r = fsub fast float %X, %Y
   ret float %r
 }
+
index 689fd6c..8b113a0 100644 (file)
@@ -1,11 +1,13 @@
 ; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s
 
 define float @test1(float %A, float %B) {
-; CHECK-LABEL: test1
-; CHECK: %Z = fadd fast float %A, %B
-; CHECK: ret float %Z
-       %W = fadd fast float %B, -5.0
-       %Y = fadd fast float %A, 5.0
-       %Z = fadd fast float %W, %Y
-       ret float %Z
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[Z:%.*]] = fadd fast float %A, %B
+; CHECK-NEXT:    ret float [[Z]]
+;
+  %W = fadd fast float %B, -5.0
+  %Y = fadd fast float %A, 5.0
+  %Z = fadd fast float %W, %Y
+  ret float %Z
 }
+
index db4191a..bcedcf0 100644 (file)
@@ -1,13 +1,13 @@
 ; RUN: opt < %s -reassociate -constprop -instcombine -S | FileCheck %s
 
 define float @test1(float %A, float %B) {
-; CHECK-LABEL: test1
-; CHECK-NEXT: %W = fadd float %B, 5.000000e+00
-; CHECK-NEXT: %X = fadd float %A, -7.000000e+00
-; CHECK-NEXT: %Y = fsub float %X, %W
-; CHECK-NEXT: %Z = fadd float %Y, 1.200000e+01
-; CHECK-NEXT: ret float %Z
-
+; CHECK-LABEL: @test1(
+; CHECK-NEXT:    [[W:%.*]] = fadd float %B, 5.000000e+00
+; CHECK-NEXT:    [[X:%.*]] = fadd float %A, -7.000000e+00
+; CHECK-NEXT:    [[Y:%.*]] = fsub float [[X]], [[W]]
+; CHECK-NEXT:    [[Z:%.*]] = fadd float [[Y]], 1.200000e+01
+; CHECK-NEXT:    ret float [[Z]]
+;
   %W = fadd float 5.0, %B
   %X = fadd float -7.0, %A
   %Y = fsub float %X, %W
@@ -17,10 +17,10 @@ define float @test1(float %A, float %B) {
 
 ; With sub reassociation, constant folding can eliminate all of the constants.
 define float @test2(float %A, float %B) {
-; CHECK-LABEL: test2
-; CHECK-NEXT: %Z = fsub fast float %A, %B
-; CHECK-NEXT: ret float %Z
-
+; CHECK-LABEL: @test2(
+; CHECK-NEXT:    [[Z:%.*]] = fsub fast float %A, %B
+; CHECK-NEXT:    ret float [[Z]]
+;
   %W = fadd fast float %B, 5.000000e+00
   %X = fadd fast float %A, -7.000000e+00
   %Y = fsub fast float %X, %W
@@ -30,14 +30,14 @@ define float @test2(float %A, float %B) {
 }
 
 define float @test3(float %A, float %B, float %C, float %D) {
-; CHECK-LABEL: test3
-; CHECK-NEXT: %M = fadd float %A, 1.200000e+01
-; CHECK-NEXT: %N = fadd float %M, %B
-; CHECK-NEXT: %O = fadd float %N, %C
-; CHECK-NEXT: %P = fsub float %D, %O
-; CHECK-NEXT: %Q = fadd float %P, 1.200000e+01
-; CHECK-NEXT: ret float %Q
-
+; CHECK-LABEL: @test3(
+; CHECK-NEXT:    [[M:%.*]] = fadd float %A, 1.200000e+01
+; CHECK-NEXT:    [[N:%.*]] = fadd float [[M]], %B
+; CHECK-NEXT:    [[O:%.*]] = fadd float [[N]], %C
+; CHECK-NEXT:    [[P:%.*]] = fsub float %D, [[O]]
+; CHECK-NEXT:    [[Q:%.*]] = fadd float [[P]], 1.200000e+01
+; CHECK-NEXT:    ret float [[Q]]
+;
   %M = fadd float %A, 1.200000e+01
   %N = fadd float %M, %B
   %O = fadd float %N, %C
@@ -48,19 +48,18 @@ define float @test3(float %A, float %B, float %C, float %D) {
 
 ; With sub reassociation, constant folding can eliminate the two 12 constants.
 define float @test4(float %A, float %B, float %C, float %D) {
-; CHECK-LABEL: test4
-; CHECK-NEXT: %B.neg = fsub fast float -0.000000e+00, %B
-; CHECK-NEXT: %O.neg = fsub fast float %B.neg, %A
-; CHECK-NEXT: %P = fsub fast float %O.neg, %C
-; CHECK-NEXT: %Q = fadd fast float %P, %D
-; CHECK-NEXT: ret float %Q
-
 ; FIXME: InstCombine should be able to get us to the following:
 ; %sum = fadd fast float %B, %A
 ; %sum1 = fadd fast float %sum, %C
 ; %Q = fsub fast float %D, %sum1
 ; ret i32 %Q
-
+; CHECK-LABEL: @test4(
+; CHECK-NEXT:    [[B_NEG:%.*]] = fsub fast float -0.000000e+00, %B
+; CHECK-NEXT:    [[O_NEG:%.*]] = fsub fast float [[B_NEG]], %A
+; CHECK-NEXT:    [[P:%.*]] = fsub fast float [[O_NEG]], %C
+; CHECK-NEXT:    [[Q:%.*]] = fadd fast float [[P]], %D
+; CHECK-NEXT:    ret float [[Q]]
+;
   %M = fadd fast float 1.200000e+01, %A
   %N = fadd fast float %M, %B
   %O = fadd fast float %N, %C
@@ -68,3 +67,4 @@ define float @test4(float %A, float %B, float %C, float %D) {
   %Q = fadd fast float 1.200000e+01, %P
   ret float %Q
 }
+