Home | History | Annotate | Download | only in Analysis

Lines Matching refs:BitWidth

73 /// Returns the bitwidth of the given scalar or pointer type (if unknown returns
74 /// 0). For vector types, returns the element type's bitwidth.
76 if (unsigned BitWidth = Ty->getScalarSizeInBits())
77 return BitWidth;
239 unsigned BitWidth = KnownZero.getBitWidth();
241 // NLZ can't be BitWidth with no sign bit
242 APInt MaskV = APInt::getHighBitsSet(BitWidth, NLZ+1);
251 KnownZero = APInt::getHighBitsSet(BitWidth, NLZ2);
257 unsigned BitWidth = KnownZero.getBitWidth();
261 APInt LHSKnownZero(BitWidth, 0), LHSKnownOne(BitWidth, 0);
266 APInt CarryIn(BitWidth, 0);
299 KnownZero |= APInt::getSignBit(BitWidth);
303 KnownOne |= APInt::getSignBit(BitWidth);
313 unsigned BitWidth = KnownZero.getBitWidth();
351 BitWidth) - BitWidth;
353 TrailZ = std::min(TrailZ, BitWidth);
354 LeadZ = std::min(LeadZ, BitWidth);
355 KnownZero = APInt::getLowBitsSet(BitWidth, TrailZ) |
356 APInt::getHighBitsSet(BitWidth, LeadZ);
364 KnownZero.setBit(BitWidth - 1);
366 KnownOne.setBit(BitWidth - 1);
372 unsigned BitWidth
390 APInt Mask = APInt::getHighBitsSet(BitWidth, CommonPrefixBits);
558 const unsigned BitWidth = KnownZero.getBitWidth();
569 APInt KnownZeroTemp(BitWidth, 0), KnownOneTemp(BitWidth, 0);
573 KnownZero |= APInt::getSignBit(BitWidth);
579 APInt KnownZeroTemp(BitWidth, 0), KnownOneTemp(BitWidth, 0);
592 APInt KnownZeroTemp(BitWidth, 0), KnownOneTemp(BitWidth, 0);
596 KnownZero |= APInt::getHighBitsSet(BitWidth, SignBits);
601 APInt KnownZeroTemp(BitWidth, 0), KnownOneTemp(BitWidth, 0);
608 KnownZero |= APInt::getHighBitsSet(BitWidth, SignBits);
735 unsigned BitWidth = KnownZero.getBitWidth();
756 assert(BitWidth == 1 && "assume operand is not i1?");
776 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
784 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
786 APInt MaskKnownZero(BitWidth, 0), MaskKnownOne(BitWidth, 0);
797 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
799 APInt MaskKnownZero(BitWidth, 0), MaskKnownOne(BitWidth, 0);
810 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
812 APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
823 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
825 APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
836 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
838 APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
852 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
854 APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
868 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
878 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
890 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
902 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
911 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
916 KnownZero |= APInt::getSignBit(BitWidth);
921 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
926 KnownZero |= APInt::getSignBit(BitWidth);
931 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
936 KnownOne |= APInt::getSignBit(BitWidth);
941 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
946 KnownOne |= APInt::getSignBit(BitWidth);
951 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
956 APInt::getHighBitsSet(BitWidth, RHSKnownZero.countLeadingOnes());
960 APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
967 APInt::getHighBitsSet(BitWidth, RHSKnownZero.countLeadingOnes()+1);
970 APInt::getHighBitsSet(BitWidth, RHSKnownZero.countLeadingOnes());
989 unsigned BitWidth = KnownZero.getBitWidth();
992 unsigned ShiftAmt = SA->getLimitedValue(BitWidth-1);
1003 // BitWidth > 64 and any upper bits are known, we'll end up returning the
1018 if (!(ShiftAmtKZ & (BitWidth - 1)) && !(ShiftAmtKO & (BitWidth - 1))) {
1027 KnownZero = KnownOne = APInt::getAllOnesValue(BitWidth);
1028 for (unsigned ShiftAmt = 0; ShiftAmt < BitWidth; ++ShiftAmt) {
1051 // amount must be >= the BitWidth, and the result is undefined. We could
1062 unsigned BitWidth = KnownZero.getBitWidth();
1091 APInt KnownZero3(BitWidth, 0), KnownOne3(BitWidth, 0);
1094 KnownZero |= APInt::getLowBitsSet(BitWidth, 1);
1136 if (RHSUnknownLeadingOnes != BitWidth)
1137 LeadZ = std::min(BitWidth,
1138 LeadZ + BitWidth - RHSUnknownLeadingOnes - 1);
1140 KnownZero = APInt::getHighBitsSet(BitWidth, LeadZ);
1175 KnownZero = KnownZero.zextOrTrunc(BitWidth);
1176 KnownOne = KnownOne.zextOrTrunc(BitWidth);
1178 if (BitWidth > SrcBitWidth)
1179 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - SrcBitWidth);
1201 KnownZero = KnownZero.zext(BitWidth);
1202 KnownOne = KnownOne.zext(BitWidth);
1207 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - SrcBitWidth);
1209 KnownOne |= APInt::getHighBitsSet(BitWidth, BitWidth - SrcBitWidth);
1214 auto KZF = [BitWidth](const APInt &KnownZero, unsigned ShiftAmt) {
1216 APInt::getLowBitsSet(BitWidth, ShiftAmt); // Low bits known 0.
1219 auto KOF = [BitWidth](const APInt &KnownOne, unsigned ShiftAmt) {
1230 auto KZF = [BitWidth](const APInt &KnownZero, unsigned ShiftAmt) {
1233 APInt::getHighBitsSet(BitWidth, ShiftAmt);
1236 auto KOF = [BitWidth](const APInt &KnownOne, unsigned ShiftAmt) {
1247 auto KZF = [BitWidth](const APInt &KnownZero, unsigned ShiftAmt) {
1251 auto KOF = [BitWidth](const APInt &KnownOne, unsigned ShiftAmt) {
1288 if (KnownZero2[BitWidth-1] || ((KnownZero2 & LowBits) == LowBits))
1293 if (KnownOne2[BitWidth-1] && ((KnownOne2 & LowBits) != 0))
1303 APInt LHSKnownZero(BitWidth, 0), LHSKnownOne(BitWidth, 0);
1308 KnownZero.setBit(BitWidth - 1);
1333 KnownZero = APInt::getHighBitsSet(BitWidth, Leaders);
1344 KnownZero = APInt::getLowBitsSet(BitWidth, countTrailingZeros(Align));
1350 APInt LocalKnownZero(BitWidth, 0), LocalKnownOne(BitWidth, 0);
1392 KnownZero = APInt::getLowBitsSet(BitWidth, TrailZ);
1433 KnownZero = APInt::getLowBitsSet(BitWidth,
1452 KnownZero = APInt::getAllOnesValue(BitWidth);
1453 KnownOne = APInt::getAllOnesValue(BitWidth);
1458 KnownZero2 = APInt(BitWidth, 0);
1459 KnownOne2 = APInt(BitWidth, 0);
1492 unsigned LowBits = Log2_32(BitWidth)+1;
1496 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - LowBits);
1504 unsigned BitsPossiblySet = BitWidth - KnownZero2.countPopulation();
1506 APInt(BitWidth, BitsPossiblySet).countLeadingZeros();
1507 assert(LeadingZeros <= BitWidth);
1508 KnownZero |= APInt::getHighBitsSet(BitWidth, LeadingZeros);
1616 unsigned BitWidth = KnownZero.getBitWidth();
1622 assert((DL.getTypeSizeInBits(V->getType()->getScalarType()) == BitWidth) &&
1624 V->getType()->getScalarSizeInBits() == BitWidth) &&
1625 KnownZero.getBitWidth() == BitWidth &&
1626 KnownOne.getBitWidth() == BitWidth &&
1627 "V, KnownOne and KnownZero should have same BitWidth");
1639 KnownZero = APInt::getAllOnesValue(BitWidth);
1681 KnownZero |= APInt::getLowBitsSet(BitWidth, countTrailingZeros(Align));
1704 unsigned BitWidth = getBitWidth(V->getType(), DL);
1705 if (!BitWidth) {
1710 APInt ZeroBits(BitWidth, 0);
1711 APInt OneBits(BitWidth, 0);
1713 KnownOne = OneBits[BitWidth - 1];
1714 KnownZero = ZeroBits[BitWidth - 1];
1783 unsigned BitWidth = V->getType()->getScalarSizeInBits();
1784 APInt LHSZeroBits(BitWidth, 0), LHSOneBits(BitWidth, 0);
1787 APInt RHSZeroBits(BitWidth, 0), RHSOneBits(BitWidth, 0);
1934 unsigned BitWidth = getBitWidth(V->getType()->getScalarType(), DL);
1947 if (BitWidth && match(V, m_Shl(m_Value(X), m_Value(Y)))) {
1953 APInt KnownZero(BitWidth, 0);
1954 APInt KnownOne(BitWidth, 0);
1976 APInt KnownZero(BitWidth, 0);
1977 APInt KnownOne(BitWidth, 0);
1980 auto ShiftVal = Shift->getLimitedValue(BitWidth - 1);
1982 if (KnownOne.countLeadingZeros() < BitWidth - ShiftVal)
2008 if (BitWidth && XKnownNegative && YKnownNegative) {
2009 APInt KnownZero(BitWidth, 0);
2010 APInt KnownOne(BitWidth, 0);
2011 APInt Mask = APInt::getSignedMaxValue(BitWidth);
2068 if (!BitWidth) return false;
2069 APInt KnownZero(BitWidth, 0);
2070 APInt KnownOne(BitWidth, 0);
2105 auto BitWidth = Ty->getBitWidth();
2106 APInt KnownZero1(BitWidth, 0);
2107 APInt KnownOne1(BitWidth, 0);
2109 APInt KnownZero2(BitWidth, 0);
2110 APInt KnownOne2(BitWidth, 0);
2830 unsigned BitWidth = DL.getPointerTypeSizeInBits(Ptr->getType());
2831 APInt ByteOffset(BitWidth, 0);
2837 APInt GEPOffset(BitWidth, 0);
3551 unsigned BitWidth = LHS->getType()->getScalarSizeInBits();
3552 APInt LHSKnownZero(BitWidth, 0);
3553 APInt LHSKnownOne(BitWidth, 0);
3554 APInt RHSKnownZero(BitWidth, 0);
3555 APInt RHSKnownOne(BitWidth, 0);
3566 if (ZeroBits >= BitWidth)
4142 unsigned BitWidth = CA->getBitWidth();
4143 APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);