summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2016-04-22 17:57:34 +0000
committerChad Rosier <mcrosier@codeaurora.org>2016-04-22 17:57:34 +0000
commit1a601590640f6af67873bf0a72cbf4de39bad95f (patch)
tree5edd298c98951e2ad8053fd4ba9eb3d30649b458 /llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll
parent2b909e9917b27568f256aece48b5c3d5f07d3ad0 (diff)
downloadbcm5719-llvm-1a601590640f6af67873bf0a72cbf4de39bad95f.tar.gz
bcm5719-llvm-1a601590640f6af67873bf0a72cbf4de39bad95f.zip
[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
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll')
-rw-r--r--llvm/test/Transforms/SimplifyCFG/implied-cond-matching.ll16
1 files changed, 8 insertions, 8 deletions
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
OpenPOWER on IntegriCloud