From 1a601590640f6af67873bf0a72cbf4de39bad95f Mon Sep 17 00:00:00 2001 From: Chad Rosier Date: Fri, 22 Apr 2016 17:57:34 +0000 Subject: [SimplifyCFG] Add final missing implications to isImpliedTrueByMatchingCmp. Summary: eq imply [u|s]ge and [u|s]le are true. Remove redundant logic by implementing isImpliedFalseByMatchingCmp(Pred1, Pred2) as isImpliedTrueByMatchingCmp(Pred1, getInversePredicate(Pred2)). llvm-svn: 267177 --- .../test/Transforms/SimplifyCFG/implied-cond-matching.ll | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'llvm/test/Transforms') diff --git a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll index e49139bc1e3..d32fd9ca4ef 100644 --- a/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll +++ b/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll @@ -140,10 +140,10 @@ untaken: ret void } -; A == B implies A >=u B is unknown to be true or false. +; A == B implies A >=u B is true. ; CHECK-LABEL: @test_eq_uge ; CHECK: call void @is(i1 true) -; CHECK: call void @is(i1 false) +; CHECK-NOT: call void @is(i1 false) define void @test_eq_uge(i32 %a, i32 %b) { %cmp1 = icmp eq i32 %a, %b br i1 %cmp1, label %taken, label %untaken @@ -188,10 +188,10 @@ untaken: ret void } -; A == B implies A <=u B is unknown to be true or false. +; A == B implies A <=u B is true. ; CHECK-LABEL: @test_eq_ule ; CHECK: call void @is(i1 true) -; CHECK: call void @is(i1 false) +; CHECK-NOT: call void @is(i1 false) define void @test_eq_ule(i32 %a, i32 %b) { %cmp1 = icmp eq i32 %a, %b br i1 %cmp1, label %taken, label %untaken @@ -236,10 +236,10 @@ untaken: ret void } -; A == B implies A >=s B is unknown to be true or false. +; A == B implies A >=s B is true. ; CHECK-LABEL: @test_eq_sge ; CHECK: call void @is(i1 true) -; CHECK: call void @is(i1 false) +; CHECK-NOT: call void @is(i1 false) define void @test_eq_sge(i32 %a, i32 %b) { %cmp1 = icmp eq i32 %a, %b br i1 %cmp1, label %taken, label %untaken @@ -284,10 +284,10 @@ untaken: ret void } -; A == B implies A <=s B is unknown to be true or false. +; A == B implies A <=s B is true. ; CHECK-LABEL: @test_eq_sle ; CHECK: call void @is(i1 true) -; CHECK: call void @is(i1 false) +; CHECK-NOT: call void @is(i1 false) define void @test_eq_sle(i32 %a, i32 %b) { %cmp1 = icmp eq i32 %a, %b br i1 %cmp1, label %taken, label %untaken -- cgit v1.2.3