Lines Matching refs:Lower
44 : Lower(Full ? APInt::getMaxValue(BitWidth) : APInt::getMinValue(BitWidth)), in ConstantRange()
45 Upper(Lower) {} in ConstantRange()
48 : Lower(std::move(V)), Upper(Lower + 1) {} in ConstantRange()
51 : Lower(std::move(L)), Upper(std::move(U)) { in ConstantRange()
52 assert(Lower.getBitWidth() == Upper.getBitWidth() && in ConstantRange()
54 assert((Lower != Upper || (Lower.isMaxValue() || Lower.isMinValue())) && in ConstantRange()
72 APInt Lower = Known.getMinValue(), Upper = Known.getMaxValue(); in fromKnownBits() local
73 Lower.setSignBit(); in fromKnownBits()
75 return ConstantRange(Lower, Upper + 1); in fromKnownBits()
273 APInt Lower, Upper; in makeExactMulNSWRegion() local
275 Lower = APIntOps::RoundingSDiv(MaxValue, V, APInt::Rounding::UP); in makeExactMulNSWRegion()
278 Lower = APIntOps::RoundingSDiv(MinValue, V, APInt::Rounding::UP); in makeExactMulNSWRegion()
284 return ConstantRange(Lower, Upper + 1); in makeExactMulNSWRegion()
367 return Lower == Upper && Lower.isMaxValue(); in isFullSet()
371 return Lower == Upper && Lower.isMinValue(); in isEmptySet()
375 return Lower.ugt(Upper) && !Upper.isZero(); in isWrappedSet()
379 return Lower.ugt(Upper); in isUpperWrapped()
383 return Lower.sgt(Upper) && !Upper.isMinSignedValue(); in isSignWrappedSet()
387 return Lower.sgt(Upper); in isUpperSignWrapped()
397 return (Upper - Lower).ult(Other.Upper - Other.Lower); in isSizeStrictlySmallerThan()
407 return (Upper - Lower).ugt(MaxSize); in isSizeLargerThan()
422 return !isSignWrappedSet() && Lower.isNonNegative(); in isAllNonNegative()
450 if (Lower == Upper) in contains()
454 return Lower.ule(V) && V.ult(Upper); in contains()
455 return Lower.ule(V) || V.ult(Upper); in contains()
466 return Lower.ule(Other.getLower()) && Other.getUpper().ule(Upper); in contains()
471 Lower.ule(Other.getLower()); in contains()
473 return Other.getUpper().ule(Upper) && Lower.ule(Other.getLower()); in contains()
494 if (Lower == Upper) in subtract()
496 return ConstantRange(Lower - Val, Upper - Val); in subtract()
536 if (Lower.ult(CR.Lower)) { in intersectWith()
539 if (Upper.ule(CR.Lower)) in intersectWith()
545 return ConstantRange(CR.Lower, Upper); in intersectWith()
558 if (Lower.ult(CR.Upper)) in intersectWith()
559 return ConstantRange(Lower, CR.Upper); in intersectWith()
567 if (CR.Lower.ult(Upper)) { in intersectWith()
575 if (CR.Upper.ule(Lower)) in intersectWith()
576 return ConstantRange(CR.Lower, Upper); in intersectWith()
582 if (CR.Lower.ult(Lower)) { in intersectWith()
585 if (CR.Upper.ule(Lower)) in intersectWith()
590 return ConstantRange(Lower, CR.Upper); in intersectWith()
601 if (CR.Lower.ult(Upper)) in intersectWith()
606 if (CR.Lower.ult(Lower)) in intersectWith()
607 return ConstantRange(Lower, CR.Upper); in intersectWith()
613 if (CR.Upper.ule(Lower)) { in intersectWith()
616 if (CR.Lower.ult(Lower)) in intersectWith()
621 return ConstantRange(CR.Lower, Upper); in intersectWith()
646 if (CR.Upper.ult(Lower) || Upper.ult(CR.Lower)) in unionWith()
648 ConstantRange(Lower, CR.Upper), ConstantRange(CR.Lower, Upper), Type); in unionWith()
650 APInt L = CR.Lower.ult(Lower) ? CR.Lower : Lower; in unionWith()
662 if (CR.Upper.ule(Upper) || CR.Lower.uge(Lower)) in unionWith()
667 if (CR.Lower.ule(Upper) && Lower.ule(CR.Upper)) in unionWith()
675 if (Upper.ult(CR.Lower) && CR.Upper.ult(Lower)) in unionWith()
677 ConstantRange(Lower, CR.Upper), ConstantRange(CR.Lower, Upper), Type); in unionWith()
681 if (Upper.ult(CR.Lower) && Lower.ule(CR.Upper)) in unionWith()
682 return ConstantRange(CR.Lower, Upper); in unionWith()
686 assert(CR.Lower.ule(Upper) && CR.Upper.ult(Lower) && in unionWith()
688 return ConstantRange(Lower, CR.Upper); in unionWith()
693 if (CR.Lower.ule(Upper) || Lower.ule(CR.Upper)) in unionWith()
696 APInt L = CR.Lower.ult(Lower) ? CR.Lower : Lower; in unionWith()
780 LowerExt = Lower.zext(DstTySize); in zeroExtend()
785 return ConstantRange(Lower.zext(DstTySize), Upper.zext(DstTySize)); in zeroExtend()
796 return ConstantRange(Lower.sext(DstTySize), Upper.zext(DstTySize)); in signExtend()
803 return ConstantRange(Lower.sext(DstTySize), Upper.sext(DstTySize)); in signExtend()
813 APInt LowerDiv(Lower), UpperDiv(Upper); in truncate()
1219 APInt Lower = getUnsignedMin().udiv(RHS.getUnsignedMax()); in udiv() local
1232 return getNonEmpty(std::move(Lower), std::move(Upper)); in udiv()
1254 PosRes = ConstantRange(PosL.Lower.sdiv(PosR.Upper - 1), in sdiv()
1255 (PosL.Upper - 1).sdiv(PosR.Lower) + 1); in sdiv()
1264 APInt Lo = (NegL.Upper - 1).sdiv(NegR.Lower); in sdiv()
1265 if (NegL.Lower.isMinSignedValue() && NegR.Upper.isZero()) { in sdiv()
1268 if (!NegR.Lower.isAllOnes()) { in sdiv()
1270 if (RHS.Lower.isAllOnes()) in sdiv()
1278 ConstantRange(Lo, NegL.Lower.sdiv(AdjNegRUpper - 1) + 1)); in sdiv()
1287 AdjNegLLower = Lower; in sdiv()
1290 AdjNegLLower = NegL.Lower + 1; in sdiv()
1298 ConstantRange(std::move(Lo), NegL.Lower.sdiv(NegR.Upper - 1) + 1)); in sdiv()
1306 PosL.Lower.sdiv(NegR.Lower) + 1); in sdiv()
1311 ConstantRange(NegL.Lower.sdiv(PosR.Lower), in sdiv()
1386 APInt Lower = APIntOps::umax(MinLHS, -MaxAbsRHS + 1); in srem() local
1387 return ConstantRange(std::move(Lower), APInt(getBitWidth(), 1)); in srem()
1391 APInt Lower = APIntOps::umax(MinLHS, -MaxAbsRHS + 1); in srem() local
1393 return ConstantRange(std::move(Lower), std::move(Upper)); in srem()
1628 return ConstantRange(Upper, Lower); in inverse()
1638 if (Upper.isStrictlyPositive() || !Lower.isStrictlyPositive()) in abs()
1641 Lo = APIntOps::umin(Lower, -Upper + 1); in abs()
1791 OS << "[" << Lower << "," << Upper << ")"; in print()