1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00

Use !operator to test if APInt is zero/non-zero. NFCI.

Avoids APInt construction and slower comparisons.

llvm-svn: 285822
This commit is contained in:
Simon Pilgrim 2016-11-02 15:41:15 +00:00
parent e5a7a54be7
commit 650379ed5b

View File

@ -2036,7 +2036,7 @@ void SelectionDAG::computeKnownBits(SDValue Op, APInt &KnownZero,
APInt KnownZero2, KnownOne2; APInt KnownZero2, KnownOne2;
unsigned NumElts = DemandedElts.getBitWidth(); unsigned NumElts = DemandedElts.getBitWidth();
if (DemandedElts == APInt(NumElts, 0)) if (!DemandedElts)
return; // No demanded elts, better to assume we don't know anything. return; // No demanded elts, better to assume we don't know anything.
switch (Op.getOpcode()) { switch (Op.getOpcode()) {
@ -2099,13 +2099,13 @@ void SelectionDAG::computeKnownBits(SDValue Op, APInt &KnownZero,
DemandedRHS.setBit((unsigned)M % NumElts); DemandedRHS.setBit((unsigned)M % NumElts);
} }
// Known bits are the values that are shared by every demanded element. // Known bits are the values that are shared by every demanded element.
if (DemandedLHS != APInt(NumElts, 0)) { if (!!DemandedLHS) {
SDValue LHS = Op.getOperand(0); SDValue LHS = Op.getOperand(0);
computeKnownBits(LHS, KnownZero2, KnownOne2, DemandedLHS, Depth + 1); computeKnownBits(LHS, KnownZero2, KnownOne2, DemandedLHS, Depth + 1);
KnownOne &= KnownOne2; KnownOne &= KnownOne2;
KnownZero &= KnownZero2; KnownZero &= KnownZero2;
} }
if (DemandedRHS != APInt(NumElts, 0)) { if (!!DemandedRHS) {
SDValue RHS = Op.getOperand(1); SDValue RHS = Op.getOperand(1);
computeKnownBits(RHS, KnownZero2, KnownOne2, DemandedRHS, Depth + 1); computeKnownBits(RHS, KnownZero2, KnownOne2, DemandedRHS, Depth + 1);
KnownOne &= KnownOne2; KnownOne &= KnownOne2;