Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:KnownZero

2042   APInt KnownZero, KnownOne;
2043 computeKnownBits(Op, KnownZero, KnownOne, Depth);
2044 return (KnownZero & Mask) == Mask;
2048 /// them in the KnownZero/KnownOne bitsets.
2049 void SelectionDAG::computeKnownBits(SDValue Op, APInt &KnownZero,
2053 KnownZero = KnownOne = APInt(BitWidth, 0); // Don't know anything.
2063 KnownZero = ~KnownOne;
2067 computeKnownBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2073 KnownZero |= KnownZero2;
2076 computeKnownBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2080 KnownZero &= KnownZero2;
2085 computeKnownBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2089 APInt KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
2091 KnownOne = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
2092 KnownZero = KnownZeroOut;
2096 computeKnownBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2104 unsigned TrailZ = KnownZero.countTrailingOnes() +
2106 unsigned LeadZ = std::max(KnownZero.countLeadingOnes() +
2112 KnownZero = APInt::getLowBitsSet(BitWidth, TrailZ) |
2131 KnownZero = APInt::getHighBitsSet(BitWidth, LeadZ);
2135 computeKnownBits(Op.getOperand(2), KnownZero, KnownOne, Depth+1);
2140 KnownZero &= KnownZero2;
2143 computeKnownBits(Op.getOperand(3), KnownZero, KnownOne, Depth+1);
2148 KnownZero &= KnownZero2;
2165 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1);
2172 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1);
2183 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2184 KnownZero <<= ShAmt;
2187 KnownZero |= APInt::getLowBitsSet(BitWidth, ShAmt);
2199 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2200 KnownZero = KnownZero.lshr(ShAmt);
2204 KnownZero |= HighBits; // High bits known zero.
2219 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2220 KnownZero = KnownZero.lshr(ShAmt);
2227 if (KnownZero.intersects(SignBit)) {
2228 KnownZero
2251 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2253 KnownZero &= InputDemandedBits;
2257 if (KnownZero.intersects(InSignBit)) { // Input sign bit known clear
2258 KnownZero |= NewBits;
2262 KnownZero &= ~NewBits;
2264 KnownZero &= ~NewBits;
2275 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - LowBits);
2285 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - MemBits);
2288 computeKnownBitsFromRangeMetadata(*Ranges, KnownZero, KnownOne);
2296 KnownZero = KnownZero.trunc(InBits);
2298 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2299 KnownZero = KnownZero.zext(BitWidth);
2301 KnownZero |= NewBits;
2309 KnownZero = KnownZero.trunc(InBits);
2311 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2314 bool SignBitKnownZero = KnownZero.isNegative();
2317 KnownZero = KnownZero.zext(BitWidth);
2322 KnownZero |= NewBits;
2330 KnownZero = KnownZero.trunc(InBits);
2332 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2333 KnownZero = KnownZero.zext(BitWidth);
2340 KnownZero = KnownZero.zext(InBits);
2342 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2343 KnownZero = KnownZero.trunc(BitWidth);
2350 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2351 KnownZero |= (~InMask);
2352 KnownOne &= (~KnownZero);
2357 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - 1);
2377 KnownZero = APInt::getHighBitsSet(BitWidth, NLZ2);
2403 KnownZero |= APInt::getLowBitsSet(BitWidth, KnownZeroLow);
2405 KnownZero |= APInt::getHighBitsSet(BitWidth, KnownZeroHigh - 1);
2414 KnownZero |= APInt::getBitsSet(BitWidth, 1, KnownZeroLow);
2425 KnownZero = KnownZero2 & LowBits;
2431 KnownZero |= ~LowBits;
2437 assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?");
2449 KnownZero = KnownZero2 | ~LowBits;
2457 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2460 uint32_t Leaders = std::max(KnownZero.countLeadingOnes(),
2463 KnownZero = APInt::getHighBitsSet(BitWidth, Leaders);
2467 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2473 KnownZero = KnownZero.getHiBits(KnownZero.getBitWidth() - Index * BitWidth);
2477 KnownZero = KnownZero.trunc(BitWidth);
2490 KnownZero = Op0Zero & Op1Zero;
2498 KnownZero = APInt::getLowBitsSet(BitWidth, Log2_32(Align));
2511 TLI->computeKnownBitsForTargetNode(Op, KnownZero, KnownOne, *this, Depth);
2515 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
2657 APInt KnownZero, KnownOne;
2658 computeKnownBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2662 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue())
2667 if (KnownZero.isNegative())
2682 APInt KnownZero, KnownOne;
2683 computeKnownBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2686 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue())
2691 if (KnownZero.isNegative())
2751 APInt KnownZero, KnownOne;
2752 computeKnownBits(Op, KnownZero, KnownOne, Depth);
2755 if (KnownZero.isNegative()) { // sign bit is 0
2756 Mask = KnownZero;
7070 APInt KnownZero(PtrWidth, 0), KnownOne(PtrWidth, 0);
7071 llvm::computeKnownBits(const_cast<GlobalValue *>(GV), KnownZero, KnownOne,
7073 unsigned AlignBits = KnownZero.countTrailingOnes();