summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2010-09-03 22:47:08 +0000
committerOwen Anderson <resistor@mac.com>2010-09-03 22:47:08 +0000
commitc91c1a205a287bcd6dbea574e08cc0351fbfe9f7 (patch)
treea7317ecd7914a987a864a889750a6f25b2ea69cc /llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
parent0acd994f9030789dda7da0ec0764fb38ffe47df4 (diff)
downloadbcm5719-llvm-c91c1a205a287bcd6dbea574e08cc0351fbfe9f7.tar.gz
bcm5719-llvm-c91c1a205a287bcd6dbea574e08cc0351fbfe9f7.zip
Propagate non-local comparisons. Fixes PR1757.
llvm-svn: 113025
Diffstat (limited to 'llvm/test/Transforms/CorrelatedValuePropagation/basic.ll')
-rw-r--r--llvm/test/Transforms/CorrelatedValuePropagation/basic.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll b/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
index 7752ebd7ee6..24666e901e9 100644
--- a/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
+++ b/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
@@ -56,4 +56,28 @@ bb2: ; preds = %entry
%should_be_const = load i8* %a
; CHECK: ret i8 7
ret i8 %should_be_const
+}
+
+; PR1757
+; CHECK: @test4
+define i32 @test4(i32) {
+EntryBlock:
+; CHECK: icmp sgt i32 %0, 2
+ %.demorgan = icmp sgt i32 %0, 2
+ br i1 %.demorgan, label %GreaterThanTwo, label %LessThanOrEqualToTwo
+
+GreaterThanTwo:
+; CHECK-NOT: icmp eq i32 %0, 2
+ icmp eq i32 %0, 2
+; CHECK: br i1 false
+ br i1 %1, label %Impossible, label %NotTwoAndGreaterThanTwo
+
+NotTwoAndGreaterThanTwo:
+ ret i32 2
+
+Impossible:
+ ret i32 1
+
+LessThanOrEqualToTwo:
+ ret i32 0
} \ No newline at end of file
OpenPOWER on IntegriCloud