mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-28 08:16:05 +00:00
[InstSimplify] reduce code duplication for fcmp folds; NFC
llvm-svn: 362904
This commit is contained in:
parent
1361930fcb
commit
b22b368718
@ -3477,22 +3477,19 @@ static Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
|
||||
if (match(RHS, m_AnyZeroFP())) {
|
||||
switch (Pred) {
|
||||
case FCmpInst::FCMP_OGE:
|
||||
case FCmpInst::FCMP_ULT:
|
||||
// Positive or zero X >= 0.0 --> true
|
||||
// Positive or zero X < 0.0 --> false
|
||||
if ((FMF.noNaNs() || isKnownNeverNaN(LHS, Q.TLI)) &&
|
||||
CannotBeOrderedLessThanZero(LHS, Q.TLI))
|
||||
return getTrue(RetTy);
|
||||
return Pred == FCmpInst::FCMP_OGE ? getTrue(RetTy) : getFalse(RetTy);
|
||||
break;
|
||||
case FCmpInst::FCMP_UGE:
|
||||
if (CannotBeOrderedLessThanZero(LHS, Q.TLI))
|
||||
return getTrue(RetTy);
|
||||
break;
|
||||
case FCmpInst::FCMP_ULT:
|
||||
if ((FMF.noNaNs() || isKnownNeverNaN(LHS, Q.TLI)) &&
|
||||
CannotBeOrderedLessThanZero(LHS, Q.TLI))
|
||||
return getFalse(RetTy);
|
||||
break;
|
||||
case FCmpInst::FCMP_OLT:
|
||||
// Positive or zero or nan X >= 0.0 --> true
|
||||
// Positive or zero or nan X < 0.0 --> false
|
||||
if (CannotBeOrderedLessThanZero(LHS, Q.TLI))
|
||||
return getFalse(RetTy);
|
||||
return Pred == FCmpInst::FCMP_UGE ? getTrue(RetTy) : getFalse(RetTy);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user