From c019c39f4f75320aefb4142fffc2f3c3cea44e9e Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Thu, 9 Nov 2017 18:26:49 +0000 Subject: [PATCH] [Reassociate] auto-generate test checks; NFC llvm-svn: 317819 --- .../test/Transforms/Reassociate/factorize-again.ll | 18 ++++++-- .../Reassociate/fast-AgressiveSubMove.ll | 19 ++++---- .../test/Transforms/Reassociate/fast-MissedTree.ll | 16 ++++--- .../Transforms/Reassociate/fast-SubReassociate.ll | 54 +++++++++++----------- 4 files changed, 60 insertions(+), 47 deletions(-) diff --git a/llvm/test/Transforms/Reassociate/factorize-again.ll b/llvm/test/Transforms/Reassociate/factorize-again.ll index 87e7794..e50860b 100644 --- a/llvm/test/Transforms/Reassociate/factorize-again.ll +++ b/llvm/test/Transforms/Reassociate/factorize-again.ll @@ -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 diff --git a/llvm/test/Transforms/Reassociate/fast-AgressiveSubMove.ll b/llvm/test/Transforms/Reassociate/fast-AgressiveSubMove.ll index 0c28ed1..6d9df1f 100644 --- a/llvm/test/Transforms/Reassociate/fast-AgressiveSubMove.ll +++ b/llvm/test/Transforms/Reassociate/fast-AgressiveSubMove.ll @@ -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 } + diff --git a/llvm/test/Transforms/Reassociate/fast-MissedTree.ll b/llvm/test/Transforms/Reassociate/fast-MissedTree.ll index 689fd6c..8b113a0 100644 --- a/llvm/test/Transforms/Reassociate/fast-MissedTree.ll +++ b/llvm/test/Transforms/Reassociate/fast-MissedTree.ll @@ -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 } + diff --git a/llvm/test/Transforms/Reassociate/fast-SubReassociate.ll b/llvm/test/Transforms/Reassociate/fast-SubReassociate.ll index db4191a..bcedcf0 100644 --- a/llvm/test/Transforms/Reassociate/fast-SubReassociate.ll +++ b/llvm/test/Transforms/Reassociate/fast-SubReassociate.ll @@ -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 } + -- 2.7.4