Use APInt::intersects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47380 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2008-02-20 16:30:17 +00:00
parent bd99917892
commit ca93a43e84

View File

@ -1283,9 +1283,9 @@ void SelectionDAG::ComputeMaskedBits(SDOperand Op, const APInt &Mask,
APInt SignBit = APInt::getSignBit(BitWidth);
SignBit = SignBit.lshr(ShAmt); // Adjust to where it is now in the mask.
if (!!(KnownZero & SignBit)) {
if (KnownZero.intersects(SignBit)) {
KnownZero |= HighBits; // New bits are known zero.
} else if (!!(KnownOne & SignBit)) {
} else if (KnownOne.intersects(SignBit)) {
KnownOne |= HighBits; // New bits are known one.
}
}
@ -1313,10 +1313,10 @@ void SelectionDAG::ComputeMaskedBits(SDOperand Op, const APInt &Mask,
// If the sign bit of the input is known set or clear, then we know the
// top bits of the result.
if (!!(KnownZero & InSignBit)) { // Input sign bit known clear
if (KnownZero.intersects(InSignBit)) { // Input sign bit known clear
KnownZero |= NewBits;
KnownOne &= ~NewBits;
} else if (!!(KnownOne & InSignBit)) { // Input sign bit known set
} else if (KnownOne.intersects(InSignBit)) { // Input sign bit known set
KnownOne |= NewBits;
KnownZero &= ~NewBits;
} else { // Input sign bit unknown