diff options
| author | Cameron McInally <cameron.mcinally@nyu.edu> | 2019-06-03 21:53:56 +0000 |
|---|---|---|
| committer | Cameron McInally <cameron.mcinally@nyu.edu> | 2019-06-03 21:53:56 +0000 |
| commit | 89f9af5487e3287c1638e53d0b5b057154eb1b32 (patch) | |
| tree | 23f93e5862c7836b491564a787d5bf19f86c7509 /llvm/test | |
| parent | 6ff978ee05469f0f976bf003e601f879db754ed8 (diff) | |
| download | bcm5719-llvm-89f9af5487e3287c1638e53d0b5b057154eb1b32.tar.gz bcm5719-llvm-89f9af5487e3287c1638e53d0b5b057154eb1b32.zip | |
[SCCP] Add UnaryOperator visitor to SCCP for unary FNeg
Differential Revision: https://reviews.llvm.org/D62819
llvm-svn: 362449
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Transforms/SCCP/apfloat-basictest.ll | 33 | ||||
| -rw-r--r-- | llvm/test/Transforms/SCCP/undef-resolve.ll | 8 |
2 files changed, 41 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SCCP/apfloat-basictest.ll b/llvm/test/Transforms/SCCP/apfloat-basictest.ll new file mode 100644 index 00000000000..2ef09668cd4 --- /dev/null +++ b/llvm/test/Transforms/SCCP/apfloat-basictest.ll @@ -0,0 +1,33 @@ +; This is a basic sanity check for constant propagation. The fneg instruction +; should be eliminated. + +; RUN: opt < %s -sccp -S | FileCheck %s + +define double @test(i1 %B) { + br i1 %B, label %BB1, label %BB2 +BB1: + %Val = fneg double 42.0 + br label %BB3 +BB2: + br label %BB3 +BB3: + %Ret = phi double [%Val, %BB1], [1.0, %BB2] + ret double %Ret +; CHECK-LABEL: @test( +; CHECK: [[PHI:%.*]] = phi double [ -4.200000e+01, %BB1 ], [ 1.000000e+00, %BB2 ] +} + +define double @test1(i1 %B) { + br i1 %B, label %BB1, label %BB2 +BB1: + %Div = fdiv double 1.0, 1.0 + %Val = fneg double %Div + br label %BB3 +BB2: + br label %BB3 +BB3: + %Ret = phi double [%Val, %BB1], [1.0, %BB2] + ret double %Ret +; CHECK-LABEL: @test1( +; CHECK: [[PHI:%.*]] = phi double [ -1.000000e+00, %BB1 ], [ 1.000000e+00, %BB2 ] +} diff --git a/llvm/test/Transforms/SCCP/undef-resolve.ll b/llvm/test/Transforms/SCCP/undef-resolve.ll index dd7f1f3dd88..7fdcd556dae 100644 --- a/llvm/test/Transforms/SCCP/undef-resolve.ll +++ b/llvm/test/Transforms/SCCP/undef-resolve.ll @@ -180,3 +180,11 @@ entry: ; CHECK-LABEL: @test11( ; CHECK: ret i32 0 } + +; Test unary ops +define double @test12(double %x) { + %t = fneg double undef + ret double %t +; CHECK-LABEL: @test12( +; CHECK: double undef +} |

