mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[NFC] Change isFPPredicate comparison to ignore lower bound
Summary: Since changing the Predicate to be an unsigned enum, the lower bound check for isFPPredicate no longer needs to check the lower bound, since it will always evaluate to true. Also fixed a similar issue in SIISelLowering.cpp by removing the need for comparing to FIRST and LAST predicates Added an assert to the isFPPredicate comparison to flag if the FIRST_FCMP_PREDICATE is ever changed to anything other than 0, in which case the logic will break. Without this change warnings are generated in VS. Change-Id: I358f0daf28c0628c7bda8ad4cab4e1757b761bab Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83540
This commit is contained in:
parent
ad789e6576
commit
310a3ccdf6
@ -805,7 +805,9 @@ public:
|
||||
void setPredicate(Predicate P) { setSubclassData<PredicateField>(P); }
|
||||
|
||||
static bool isFPPredicate(Predicate P) {
|
||||
return P >= FIRST_FCMP_PREDICATE && P <= LAST_FCMP_PREDICATE;
|
||||
assert(FIRST_FCMP_PREDICATE == 0 &&
|
||||
"FIRST_FCMP_PREDICATE is required to be 0");
|
||||
return P <= LAST_FCMP_PREDICATE;
|
||||
}
|
||||
|
||||
static bool isIntPredicate(Predicate P) {
|
||||
|
@ -4567,8 +4567,7 @@ static SDValue lowerICMPIntrinsic(const SITargetLowering &TLI,
|
||||
EVT VT = N->getValueType(0);
|
||||
const auto *CD = cast<ConstantSDNode>(N->getOperand(3));
|
||||
unsigned CondCode = CD->getZExtValue();
|
||||
if (CondCode < ICmpInst::Predicate::FIRST_ICMP_PREDICATE ||
|
||||
CondCode > ICmpInst::Predicate::LAST_ICMP_PREDICATE)
|
||||
if (!ICmpInst::isIntPredicate(static_cast<ICmpInst::Predicate>(CondCode)))
|
||||
return DAG.getUNDEF(VT);
|
||||
|
||||
ICmpInst::Predicate IcInput = static_cast<ICmpInst::Predicate>(CondCode);
|
||||
@ -4604,10 +4603,8 @@ static SDValue lowerFCMPIntrinsic(const SITargetLowering &TLI,
|
||||
const auto *CD = cast<ConstantSDNode>(N->getOperand(3));
|
||||
|
||||
unsigned CondCode = CD->getZExtValue();
|
||||
if (CondCode < FCmpInst::Predicate::FIRST_FCMP_PREDICATE ||
|
||||
CondCode > FCmpInst::Predicate::LAST_FCMP_PREDICATE) {
|
||||
if (!FCmpInst::isFPPredicate(static_cast<FCmpInst::Predicate>(CondCode)))
|
||||
return DAG.getUNDEF(VT);
|
||||
}
|
||||
|
||||
SDValue Src0 = N->getOperand(1);
|
||||
SDValue Src1 = N->getOperand(2);
|
||||
|
Loading…
Reference in New Issue
Block a user