Lines Matching refs:APInt

36     Lower = Upper = APInt::getMaxValue(BitWidth);
38 Lower = Upper = APInt::getMinValue(BitWidth);
70 APInt UMax(CR.getUnsignedMax());
73 return ConstantRange(APInt::getMinValue(W), UMax);
76 APInt SMax(CR.getSignedMax());
79 return ConstantRange(APInt::getSignedMinValue(W), SMax);
82 APInt UMax(CR.getUnsignedMax());
85 return ConstantRange(APInt::getMinValue(W), UMax + 1);
88 APInt SMax(CR.getSignedMax());
91 return ConstantRange(APInt::getSignedMinValue(W), SMax + 1);
94 APInt UMin(CR.getUnsignedMin());
97 return ConstantRange(UMin + 1, APInt::getNullValue(W));
100 APInt SMin(CR.getSignedMin());
103 return ConstantRange(SMin + 1, APInt::getSignedMinValue(W));
106 APInt UMin(CR.getUnsignedMin());
109 return ConstantRange(UMin, APInt::getNullValue(W));
112 APInt SMin(CR.getSignedMin());
115 return ConstantRange(SMin, APInt::getSignedMinValue(W));
131 const APInt &C,
165 ConstantRange(APInt::getNullValue(BitWidth), -C));
170 Result, ConstantRange(APInt::getSignedMinValue(BitWidth),
171 APInt::getSignedMinValue(BitWidth) - C));
174 Result, ConstantRange(APInt::getSignedMinValue(BitWidth) - C,
175 APInt::getSignedMinValue(BitWidth)));
204 return contains(APInt::getSignedMaxValue(getBitWidth())) &&
205 contains(APInt::getSignedMinValue(getBitWidth()));
210 APInt ConstantRange::getSetSize() const {
212 APInt Size(getBitWidth()+1, 0);
224 APInt ConstantRange::getUnsignedMax() const {
226 return APInt::getMaxValue(getBitWidth());
233 APInt ConstantRange::getUnsignedMin() const {
235 return APInt::getMinValue(getBitWidth());
242 APInt ConstantRange::getSignedMax() const {
243 APInt SignedMax(APInt::getSignedMaxValue(getBitWidth()));
257 APInt ConstantRange::getSignedMin() const {
258 APInt SignedMin(APInt::getSignedMinValue(getBitWidth()));
273 bool ConstantRange::contains(const APInt &V) const {
306 ConstantRange ConstantRange::subtract(const APInt &Val) const {
418 APInt d1 = CR.Lower - Upper, d2 = Lower - CR.Upper;
424 APInt L = Lower, U = Upper;
451 APInt d1 = CR.Lower - Upper, d2 = Lower - CR.Upper;
474 APInt L = Lower, U = Upper;
494 APInt LowerExt(DstTySize, 0);
497 return ConstantRange(LowerExt, APInt::getOneBitSet(DstTySize, SrcTySize));
518 return ConstantRange(APInt::getHighBitsSet(DstTySize,DstTySize-SrcTySize+1),
519 APInt::getLowBitsSet(DstTySize, SrcTySize-1) + 1);
536 APInt MaxValue = APInt::getMaxValue(DstTySize).zext(getBitWidth());
537 APInt MaxBitValue(getBitWidth(), 0);
540 APInt LowerDiv(Lower), UpperDiv(Upper);
551 Union = ConstantRange(APInt::getMaxValue(DstTySize),Upper.trunc(DstTySize));
552 UpperDiv = APInt::getMaxValue(getBitWidth());
562 APInt Div(getBitWidth(), 0);
563 APInt::udivrem(LowerDiv, MaxBitValue, Div, LowerDiv);
572 APInt UpperModulo = UpperDiv - MaxBitValue;
609 APInt Spread_X = getSetSize(), Spread_Y = Other.getSetSize();
610 APInt NewLower = getLower() + Other.getLower();
611 APInt NewUpper = getUpper() + Other.getUpper() - 1;
630 APInt Spread_X = getSetSize(), Spread_Y = Other.getSetSize();
631 APInt NewLower = getLower() - Other.getUpper() + 1;
632 APInt NewUpper = getUpper() - Other.getLower();
661 APInt this_min = getUnsignedMin().zext(getBitWidth() * 2);
662 APInt this_max = getUnsignedMax().zext(getBitWidth() * 2);
663 APInt Other_min = Other.getUnsignedMin().zext(getBitWidth() * 2);
664 APInt Other_max = Other.getUnsignedMax().zext(getBitWidth() * 2);
683 auto Compare = [](const APInt &A, const APInt &B) { return A.slt(B); };
696 APInt NewL = APIntOps::smax(getSignedMin(), Other.getSignedMin());
697 APInt NewU = APIntOps::smax(getSignedMax(), Other.getSignedMax()) + 1;
709 APInt NewL = APIntOps::umax(getUnsignedMin(), Other.getUnsignedMin());
710 APInt NewU = APIntOps::umax(getUnsignedMax(), Other.getUnsignedMax()) + 1;
723 APInt Lower = getUnsignedMin().udiv(RHS.getUnsignedMax());
725 APInt RHS_umin = RHS.getUnsignedMin();
732 RHS_umin = APInt(getBitWidth(), 1);
735 APInt Upper = getUnsignedMax().udiv(RHS_umin) + 1;
752 APInt umin = APIntOps::umin(Other.getUnsignedMax(), getUnsignedMax());
755 return ConstantRange(APInt::getNullValue(getBitWidth()), umin + 1);
765 APInt umax = APIntOps::umax(getUnsignedMin(), Other.getUnsignedMin());
768 return ConstantRange(umax, APInt::getNullValue(getBitWidth()));
776 APInt min = getUnsignedMin().shl(Other.getUnsignedMin());
777 APInt max = getUnsignedMax().shl(Other.getUnsignedMax());
780 APInt Zeros(getBitWidth(), getUnsignedMax().countLeadingZeros());
793 APInt max = getUnsignedMax().lshr(Other.getUnsignedMin());
794 APInt min = getUnsignedMin().lshr(Other.getUnsignedMax());