summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2016-04-25 17:41:48 +0000
committerChad Rosier <mcrosier@codeaurora.org>2016-04-25 17:41:48 +0000
commit4c4e3336b839d7548a829cadea6541a0c3053f05 (patch)
tree86b1ed9966f28ecf045490cfebf76e078570fd00 /llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
parent0a43efea95a916502e1592b601134723d0523b72 (diff)
downloadbcm5719-llvm-4c4e3336b839d7548a829cadea6541a0c3053f05.tar.gz
bcm5719-llvm-4c4e3336b839d7548a829cadea6541a0c3053f05.zip
[ValueTracking] Add an additional test case for r266767 where one operand is a const.
llvm-svn: 267432
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll')
-rw-r--r--llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
index d32fd9ca4ef..d857c2869c3 100644
--- a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
+++ b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
@@ -1003,3 +1003,27 @@ sle_sle_isfalse:
untaken:
ret void
}
+
+; A >=u 5 implies A <u 5 is false.
+; CHECK-LABEL: @test_uge_ult_const
+; CHECK-NOT: call void @is(i1 true)
+; CHECK: call void @is(i1 false)
+define void @test_uge_ult_const(i32 %a, i32 %b) {
+ %cmp1 = icmp uge i32 %a, %b
+ br i1 %cmp1, label %taken, label %untaken
+
+taken:
+ %cmp2 = icmp ult i32 %a, %b
+ br i1 %cmp2, label %istrue, label %isfalse
+
+istrue:
+ call void @is(i1 true)
+ ret void
+
+isfalse:
+ call void @is(i1 false)
+ ret void
+
+untaken:
+ ret void
+}
OpenPOWER on IntegriCloud