Lines Matching defs:KnownZero

1671   APInt KnownZero, KnownOne;
1672 ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
1673 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1674 return (KnownZero & Mask) == Mask;
1678 /// known to be either zero or one and return them in the KnownZero/KnownOne
1681 void SelectionDAG::ComputeMaskedBits(SDValue Op, APInt &KnownZero,
1685 KnownZero = KnownOne = APInt(BitWidth, 0); // Don't know anything.
1695 KnownZero = ~KnownOne;
1699 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
1701 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1707 KnownZero |= KnownZero2;
1710 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
1712 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1716 KnownZero &= KnownZero2;
1721 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
1723 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1727 APInt KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
1729 KnownOne = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
1730 KnownZero = KnownZeroOut;
1734 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
1736 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1744 unsigned TrailZ = KnownZero.countTrailingOnes() +
1746 unsigned LeadZ = std::max(KnownZero.countLeadingOnes() +
1752 KnownZero = APInt::getLowBitsSet(BitWidth, TrailZ) |
1771 KnownZero = APInt::getHighBitsSet(BitWidth, LeadZ);
1775 ComputeMaskedBits(Op.getOperand(2), KnownZero, KnownOne, Depth+1);
1777 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1782 KnownZero &= KnownZero2;
1785 ComputeMaskedBits(Op.getOperand(3), KnownZero, KnownOne, Depth+1);
1787 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1792 KnownZero &= KnownZero2;
1807 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1);
1818 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1819 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1820 KnownZero <<= ShAmt;
1823 KnownZero |= APInt::getLowBitsSet(BitWidth, ShAmt);
1835 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1836 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1837 KnownZero = KnownZero.lshr(ShAmt);
1841 KnownZero |= HighBits; // High bits known zero.
1856 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1857 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1858 KnownZero = KnownZero.lshr(ShAmt);
1865 if (KnownZero.intersects(SignBit)) {
1866 KnownZero |= HighBits; // New bits are known zero.
1889 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1891 KnownZero &= InputDemandedBits;
1892 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1896 if (KnownZero.intersects(InSignBit)) { // Input sign bit known clear
1897 KnownZero |= NewBits;
1901 KnownZero &= ~NewBits;
1903 KnownZero &= ~NewBits;
1914 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - LowBits);
1923 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - MemBits);
1925 computeMaskedBitsLoad(*Ranges, KnownZero);
1933 KnownZero = KnownZero.trunc(InBits);
1935 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1936 KnownZero = KnownZero.zext(BitWidth);
1938 KnownZero |= NewBits;
1947 KnownZero = KnownZero.trunc(InBits);
1949 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1952 bool SignBitKnownZero = KnownZero.isNegative();
1957 KnownZero = KnownZero.zext(BitWidth);
1962 KnownZero |= NewBits;
1970 KnownZero = KnownZero.trunc(InBits);
1972 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1973 KnownZero = KnownZero.zext(BitWidth);
1980 KnownZero = KnownZero.zext(InBits);
1982 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1983 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1984 KnownZero = KnownZero.trunc(BitWidth);
1991 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
1992 KnownZero |= (~InMask);
1993 KnownOne &= (~KnownZero);
1998 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - 1);
2018 KnownZero = APInt::getHighBitsSet(BitWidth, NLZ2);
2039 KnownZero |= APInt::getLowBitsSet(BitWidth, KnownZeroOut);
2048 KnownZero |= APInt::getBitsSet(BitWidth, 1, KnownZeroOut);
2060 KnownZero = KnownZero2 & LowBits;
2066 KnownZero |= ~LowBits;
2072 assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?");
2081 KnownZero |= ~LowBits;
2082 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne,Depth+1);
2083 assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?");
2090 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2093 uint32_t Leaders = std::max(KnownZero.countLeadingOnes(),
2096 KnownZero = APInt::getHighBitsSet(BitWidth, Leaders);
2103 KnownZero = APInt::getLowBitsSet(BitWidth, Log2_32(Align));
2116 TLI.computeMaskedBitsForTargetNode(Op, KnownZero, KnownOne, *this, Depth);
2239 APInt KnownZero, KnownOne;
2240 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1);
2244 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue())
2249 if (KnownZero.isNegative())
2264 APInt KnownZero, KnownOne;
2265 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1);
2268 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue())
2273 if (KnownZero.isNegative())
2315 APInt KnownZero, KnownOne;
2316 ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
2319 if (KnownZero.isNegative()) { // sign bit is 0
2320 Mask = KnownZero;
6216 APInt KnownZero(PtrWidth, 0), KnownOne(PtrWidth, 0);
6217 llvm::ComputeMaskedBits(const_cast<GlobalValue*>(GV), KnownZero, KnownOne,
6219 unsigned AlignBits = KnownZero.countTrailingOnes();