Skip to content

Commit 708fa7d

Browse files
committed
ValueTracking: Update a use of cannotBeOrderedLessThanZero
Makes assumes work.
1 parent f1d7a55 commit 708fa7d

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
@@ -4138,7 +4138,8 @@ static Value *simplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
41384138
case FCmpInst::FCMP_UGT:
41394139
case FCmpInst::FCMP_UNE:
41404140
// (X >= 0) implies (X > C) when (C < 0)
4141-
if (CannotBeOrderedLessThanZero(LHS, Q.DL, Q.TLI))
4141+
if (cannotBeOrderedLessThanZero(LHS, Q.DL, Q.TLI, 0,
4142+
Q.AC, Q.CxtI, Q.DT))
41424143
return getTrue(RetTy);
41434144
break;
41444145
case FCmpInst::FCMP_OEQ:

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,8 +1207,7 @@ define i1 @assumed_positive_ugt_with_negative_constant(float %a) {
12071207
; CHECK-LABEL: @assumed_positive_ugt_with_negative_constant(
12081208
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
12091209
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1210-
; CHECK-NEXT: [[CMP:%.*]] = fcmp ugt float [[A]], -3.000000e+00
1211-
; CHECK-NEXT: ret i1 [[CMP]]
1210+
; CHECK-NEXT: ret i1 true
12121211
;
12131212
%assume.cmp = fcmp ogt float %a, 0.0
12141213
call void @llvm.assume(i1 %assume.cmp)
@@ -1220,8 +1219,7 @@ define i1 @assumed_positive_uge_with_negative_constant(float %a) {
12201219
; CHECK-LABEL: @assumed_positive_uge_with_negative_constant(
12211220
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
12221221
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1223-
; CHECK-NEXT: [[CMP:%.*]] = fcmp uge float [[A]], -3.000000e+00
1224-
; CHECK-NEXT: ret i1 [[CMP]]
1222+
; CHECK-NEXT: ret i1 true
12251223
;
12261224
%assume.cmp = fcmp ogt float %a, 0.0
12271225
call void @llvm.assume(i1 %assume.cmp)
@@ -1233,8 +1231,7 @@ define i1 @assumed_positive_une_with_negative_constant(float %a) {
12331231
; CHECK-LABEL: @assumed_positive_une_with_negative_constant(
12341232
; CHECK-NEXT: [[ASSUME_CMP:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
12351233
; CHECK-NEXT: call void @llvm.assume(i1 [[ASSUME_CMP]])
1236-
; CHECK-NEXT: [[CMP:%.*]] = fcmp une float [[A]], -3.000000e+00
1237-
; CHECK-NEXT: ret i1 [[CMP]]
1234+
; CHECK-NEXT: ret i1 true
12381235
;
12391236
%assume.cmp = fcmp ogt float %a, 0.0
12401237
call void @llvm.assume(i1 %assume.cmp)

0 commit comments

Comments
 (0)