Lines Matching defs:BitWidth
45 ConstantRange::ConstantRange(uint32_t BitWidth, bool Full)
46 : Lower(Full ? APInt::getMaxValue(BitWidth) : APInt::getMinValue(BitWidth)),
279 unsigned BitWidth = V.getBitWidth();
284 APIntOps::RoundingUDiv(APInt::getMinValue(BitWidth), V,
286 APIntOps::RoundingUDiv(APInt::getMaxValue(BitWidth), V,
293 unsigned BitWidth = V.getBitWidth();
295 return ConstantRange::getFull(BitWidth);
297 APInt MinValue = APInt::getSignedMinValue(BitWidth);
298 APInt MaxValue = APInt::getSignedMaxValue(BitWidth);
327 unsigned BitWidth = Other.getBitWidth();
335 return getNonEmpty(APInt::getZero(BitWidth), -Other.getUnsignedMax());
337 APInt SignedMinVal = APInt::getSignedMinValue(BitWidth);
346 return getNonEmpty(Other.getUnsignedMax(), APInt::getMinValue(BitWidth));
348 APInt SignedMinVal = APInt::getSignedMinValue(BitWidth);
370 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, (BitWidth - 1) + 1)));
374 return getFull(BitWidth);
381 return getNonEmpty(APInt::getZero(BitWidth),
382 APInt::getMaxValue(BitWidth).lshr(ShAmtUMax) + 1);
383 return getNonEmpty(APInt::getSignedMinValue(BitWidth).ashr(ShAmtUMax),
384 APInt::getSignedMaxValue(BitWidth).ashr(ShAmtUMax) + 1);
399 unsigned BitWidth = Mask.getBitWidth();
402 return getFull(BitWidth);
405 return getEmpty(BitWidth);
411 APInt::getOneBitSet(BitWidth, Mask.countr_zero()) + C, C);
1549 auto BitWidth = LHS.getBitWidth();
1554 return APInt::getZero(BitWidth);
1564 Mask.clearLowBits(BitWidth - LeadingOnes);
1566 auto estimateBound = [BitWidth, &Mask](APInt ALo, const APInt &BLo,
1569 unsigned StartBit = BitWidth - LeadingOnes;
1687 unsigned BitWidth = LHS.getBitWidth();
1690 unsigned RHSMin = RHS.getUnsignedMin().getLimitedValue(BitWidth);
1693 return ConstantRange::getEmpty(BitWidth);
1695 unsigned RHSMax = RHS.getUnsignedMax().getLimitedValue(BitWidth);
1704 APInt::getHighBitsSet(BitWidth, BitWidth - RHSMin));
1712 unsigned BitWidth = LHSMin.getBitWidth();
1716 return ConstantRange::getEmpty(BitWidth);
1725 APInt::getBitsSet(BitWidth, RHSMin, BitWidth - 1));
1732 unsigned BitWidth = LHSMin.getBitWidth();
1736 return ConstantRange::getEmpty(BitWidth);
1744 MinShl = APInt::getSignMask(BitWidth);
1750 unsigned BitWidth = LHS.getBitWidth();
1751 unsigned RHSMin = RHS.getUnsignedMin().getLimitedValue(BitWidth);
1752 unsigned RHSMax = RHS.getUnsignedMax().getLimitedValue(BitWidth);
1759 return computeShlNSWWithNNegLHS(APInt::getZero(BitWidth), LHSMax, RHSMin,
1761 .unionWith(computeShlNSWWithNegLHS(LHSMin, APInt::getAllOnes(BitWidth),
2028 unsigned BitWidth = Lower.getBitWidth();
2030 return ConstantRange(APInt(BitWidth, Lower.countr_zero()));
2032 return ConstantRange(APInt::getZero(BitWidth),
2033 APInt(BitWidth, BitWidth + 1));
2038 // Otherwise, the maximum is BitWidth - LCPLength - 1 ({LCP, 100...}).
2040 APInt::getZero(BitWidth),
2041 APInt(BitWidth,
2042 std::max(BitWidth - LCPLength - 1, Lower.countr_zero()) + 1));
2049 unsigned BitWidth = getBitWidth();
2050 APInt Zero = APInt::getZero(BitWidth);
2066 return getUnsignedCountTrailingZerosRange(APInt(BitWidth, 1), Upper);
2073 getUnsignedCountTrailingZerosRange(APInt(BitWidth, 1), Upper);
2079 return getNonEmpty(Zero, APInt(BitWidth, BitWidth) + 1);
2096 unsigned BitWidth = Lower.getBitWidth();
2098 return ConstantRange(APInt(BitWidth, Lower.popcount()));
2107 LCPPopCount + (Lower.countr_zero() < BitWidth - LCPLength ? 1 : 0);
2108 // If Max is {LCP, 111...}, the maximum is the popcount of LCP + (BitWidth -
2110 // Otherwise, the minimum is the popcount of LCP + (BitWidth -
2112 unsigned MaxBits = LCPPopCount + (BitWidth - LCPLength) -
2113 (Max.countr_one() < BitWidth - LCPLength ? 1 : 0);
2114 return ConstantRange(APInt(BitWidth, MinBits), APInt(BitWidth, MaxBits + 1));
2121 unsigned BitWidth = getBitWidth();
2122 APInt Zero = APInt::getZero(BitWidth);
2124 return getNonEmpty(Zero, APInt(BitWidth, BitWidth) + 1);
2130 ConstantRange CR1 = ConstantRange(APInt(BitWidth, Lower.countl_one()),
2131 APInt(BitWidth, BitWidth + 1));