Lines Matching refs:KnownZero
1670 APInt KnownZero, KnownOne; in MaskedValueIsZero() local
1671 ComputeMaskedBits(Op, KnownZero, KnownOne, Depth); in MaskedValueIsZero()
1672 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in MaskedValueIsZero()
1673 return (KnownZero & Mask) == Mask; in MaskedValueIsZero()
1680 void SelectionDAG::ComputeMaskedBits(SDValue Op, APInt &KnownZero, in ComputeMaskedBits() argument
1685 KnownZero = KnownOne = APInt(BitWidth, 0); // Don't know anything. in ComputeMaskedBits()
1695 KnownZero = ~KnownOne; in ComputeMaskedBits()
1699 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1701 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1707 KnownZero |= KnownZero2; in ComputeMaskedBits()
1710 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1712 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1716 KnownZero &= KnownZero2; in ComputeMaskedBits()
1721 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1723 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1727 APInt KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2); in ComputeMaskedBits()
1729 KnownOne = (KnownZero & KnownOne2) | (KnownOne & KnownZero2); in ComputeMaskedBits()
1730 KnownZero = KnownZeroOut; in ComputeMaskedBits()
1734 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1736 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1744 unsigned TrailZ = KnownZero.countTrailingOnes() + in ComputeMaskedBits()
1746 unsigned LeadZ = std::max(KnownZero.countLeadingOnes() + in ComputeMaskedBits()
1752 KnownZero = APInt::getLowBitsSet(BitWidth, TrailZ) | in ComputeMaskedBits()
1771 KnownZero = APInt::getHighBitsSet(BitWidth, LeadZ); in ComputeMaskedBits()
1775 ComputeMaskedBits(Op.getOperand(2), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1777 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1782 KnownZero &= KnownZero2; in ComputeMaskedBits()
1785 ComputeMaskedBits(Op.getOperand(3), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1787 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1792 KnownZero &= KnownZero2; in ComputeMaskedBits()
1807 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1); in ComputeMaskedBits()
1818 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1819 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1820 KnownZero <<= ShAmt; in ComputeMaskedBits()
1823 KnownZero |= APInt::getLowBitsSet(BitWidth, ShAmt); in ComputeMaskedBits()
1835 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1836 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1837 KnownZero = KnownZero.lshr(ShAmt); in ComputeMaskedBits()
1841 KnownZero |= HighBits; // High bits known zero. in ComputeMaskedBits()
1856 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1857 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1858 KnownZero = KnownZero.lshr(ShAmt); in ComputeMaskedBits()
1865 if (KnownZero.intersects(SignBit)) { in ComputeMaskedBits()
1866 KnownZero |= HighBits; // New bits are known zero. in ComputeMaskedBits()
1889 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1891 KnownZero &= InputDemandedBits; in ComputeMaskedBits()
1892 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1896 if (KnownZero.intersects(InSignBit)) { // Input sign bit known clear in ComputeMaskedBits()
1897 KnownZero |= NewBits; in ComputeMaskedBits()
1901 KnownZero &= ~NewBits; in ComputeMaskedBits()
1903 KnownZero &= ~NewBits; in ComputeMaskedBits()
1914 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - LowBits); in ComputeMaskedBits()
1924 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - MemBits); in ComputeMaskedBits()
1926 computeMaskedBitsLoad(*Ranges, KnownZero); in ComputeMaskedBits()
1934 KnownZero = KnownZero.trunc(InBits); in ComputeMaskedBits()
1936 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1937 KnownZero = KnownZero.zext(BitWidth); in ComputeMaskedBits()
1939 KnownZero |= NewBits; in ComputeMaskedBits()
1948 KnownZero = KnownZero.trunc(InBits); in ComputeMaskedBits()
1950 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1953 bool SignBitKnownZero = KnownZero.isNegative(); in ComputeMaskedBits()
1958 KnownZero = KnownZero.zext(BitWidth); in ComputeMaskedBits()
1963 KnownZero |= NewBits; in ComputeMaskedBits()
1971 KnownZero = KnownZero.trunc(InBits); in ComputeMaskedBits()
1973 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1974 KnownZero = KnownZero.zext(BitWidth); in ComputeMaskedBits()
1981 KnownZero = KnownZero.zext(InBits); in ComputeMaskedBits()
1983 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1984 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in ComputeMaskedBits()
1985 KnownZero = KnownZero.trunc(BitWidth); in ComputeMaskedBits()
1992 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
1993 KnownZero |= (~InMask); in ComputeMaskedBits()
1994 KnownOne &= (~KnownZero); in ComputeMaskedBits()
1999 KnownZero = APInt::getHighBitsSet(BitWidth, BitWidth - 1); in ComputeMaskedBits()
2019 KnownZero = APInt::getHighBitsSet(BitWidth, NLZ2); in ComputeMaskedBits()
2040 KnownZero |= APInt::getLowBitsSet(BitWidth, KnownZeroOut); in ComputeMaskedBits()
2049 KnownZero |= APInt::getBitsSet(BitWidth, 1, KnownZeroOut); in ComputeMaskedBits()
2061 KnownZero = KnownZero2 & LowBits; in ComputeMaskedBits()
2067 KnownZero |= ~LowBits; in ComputeMaskedBits()
2073 assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?"); in ComputeMaskedBits()
2082 KnownZero |= ~LowBits; in ComputeMaskedBits()
2083 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne,Depth+1); in ComputeMaskedBits()
2084 assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?"); in ComputeMaskedBits()
2091 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeMaskedBits()
2094 uint32_t Leaders = std::max(KnownZero.countLeadingOnes(), in ComputeMaskedBits()
2097 KnownZero = APInt::getHighBitsSet(BitWidth, Leaders); in ComputeMaskedBits()
2104 KnownZero = APInt::getLowBitsSet(BitWidth, Log2_32(Align)); in ComputeMaskedBits()
2117 TLI->computeMaskedBitsForTargetNode(Op, KnownZero, KnownOne, *this, Depth); in ComputeMaskedBits()
2241 APInt KnownZero, KnownOne; in ComputeNumSignBits() local
2242 ComputeMaskedBits(Op.getOperand(0), KnownZero, KnownOne, Depth+1); in ComputeNumSignBits()
2246 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue()) in ComputeNumSignBits()
2251 if (KnownZero.isNegative()) in ComputeNumSignBits()
2266 APInt KnownZero, KnownOne; in ComputeNumSignBits() local
2267 ComputeMaskedBits(Op.getOperand(1), KnownZero, KnownOne, Depth+1); in ComputeNumSignBits()
2270 if ((KnownZero | APInt(VTBits, 1)).isAllOnesValue()) in ComputeNumSignBits()
2275 if (KnownZero.isNegative()) in ComputeNumSignBits()
2320 APInt KnownZero, KnownOne; in ComputeNumSignBits() local
2321 ComputeMaskedBits(Op, KnownZero, KnownOne, Depth); in ComputeNumSignBits()
2324 if (KnownZero.isNegative()) { // sign bit is 0 in ComputeNumSignBits()
2325 Mask = KnownZero; in ComputeNumSignBits()
6239 APInt KnownZero(PtrWidth, 0), KnownOne(PtrWidth, 0); in InferPtrAlignment() local
6240 llvm::ComputeMaskedBits(const_cast<GlobalValue*>(GV), KnownZero, KnownOne, in InferPtrAlignment()
6242 unsigned AlignBits = KnownZero.countTrailingOnes(); in InferPtrAlignment()