[ValueTracking] Add an additional test case for r266767 where one operand is a const.
llvm-svn: 267432
diff --git a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
index d32fd9c..d857c28 100644
--- a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
+++ b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
@@ -1003,3 +1003,27 @@
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
+}