Skip to content

Commit 13cf479

Browse files
committed
ValueTracking: Use new version of cannotBeOrderedLessThanZero
Pass all arguments so now assumes work.
1 parent 95209e3 commit 13cf479

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

llvm/lib/Analysis/InstructionSimplify.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4147,7 +4147,8 @@ static Value *simplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
41474147
case FCmpInst::FCMP_OLE:
41484148
case FCmpInst::FCMP_OLT:
41494149
// (X >= 0) implies !(X < C) when (C < 0)
4150-
if (CannotBeOrderedLessThanZero(LHS, Q.DL, Q.TLI))
4150+
if (cannotBeOrderedLessThanZero(LHS, Q.DL, Q.TLI, 0, Q.AC, Q.CxtI,
4151+
Q.DT))
41514152
return getFalse(RetTy);
41524153
break;
41534154
default:

llvm/test/Transforms/InstSimplify/floating-point-compare.ll

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,8 +1153,7 @@ define i1 @assumed_positive_olt_with_negative_constant(double %a) {
11531153
; CHECK-LABEL: @assumed_positive_olt_with_negative_constant(
11541154
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp oge double [[A:%.*]], 0.000000e+00
11551155
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1156-
; CHECK-NEXT: [[CMP:%.*]] = fcmp olt double [[A]], -1.000000e+00
1157-
; CHECK-NEXT: ret i1 [[CMP]]
1156+
; CHECK-NEXT: ret i1 false
11581157
;
11591158
%assume.cmp = fcmp oge double %a, 0.0
11601159
call void @llvm.assume(i1 %assume.cmp)
@@ -1166,8 +1165,7 @@ define i1 @assumed_positive_ole_with_negative_constant(double %a) {
11661165
; CHECK-LABEL: @assumed_positive_ole_with_negative_constant(
11671166
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp oge double [[A:%.*]], 0.000000e+00
11681167
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1169-
; CHECK-NEXT: [[CMP:%.*]] = fcmp ole double [[A]], -1.000000e+00
1170-
; CHECK-NEXT: ret i1 [[CMP]]
1168+
; CHECK-NEXT: ret i1 false
11711169
;
11721170
%assume.cmp = fcmp oge double %a, 0.0
11731171
call void @llvm.assume(i1 %assume.cmp)
@@ -1179,8 +1177,7 @@ define i1 @assumed_positive_oeq_with_negative_constant(double %a) {
11791177
; CHECK-LABEL: @assumed_positive_oeq_with_negative_constant(
11801178
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp oge double [[A:%.*]], 0.000000e+00
11811179
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1182-
; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq double [[A]], -1.000000e+00
1183-
; CHECK-NEXT: ret i1 [[CMP]]
1180+
; CHECK-NEXT: ret i1 false
11841181
;
11851182
%assume.cmp = fcmp oge double %a, 0.0
11861183
call void @llvm.assume(i1 %assume.cmp)

0 commit comments

Comments
 (0)