Lines Matching refs:Upper
34 Lower = Upper = APInt::getMaxValue(BitWidth); in ConstantRange()
36 Lower = Upper = APInt::getMinValue(BitWidth); in ConstantRange()
42 : Lower(std::move(V)), Upper(Lower + 1) {} in ConstantRange()
45 : Lower(std::move(L)), Upper(std::move(U)) { in ConstantRange()
46 assert(Lower.getBitWidth() == Upper.getBitWidth() && in ConstantRange()
48 assert((Lower != Upper || (Lower.isMaxValue() || Lower.isMinValue())) && in ConstantRange()
131 return Lower == Upper && Lower.isMaxValue(); in isFullSet()
137 return Lower == Upper && Lower.isMinValue(); in isEmptySet()
144 return Lower.ugt(Upper); in isWrappedSet()
165 return (Upper - Lower).zext(getBitWidth()+1); in getSetSize()
221 if (Lower == Upper) in contains()
225 return Lower.ule(V) && V.ult(Upper); in contains()
226 return Lower.ule(V) || V.ult(Upper); in contains()
241 return Lower.ule(Other.getLower()) && Other.getUpper().ule(Upper); in contains()
245 return Other.getUpper().ule(Upper) || in contains()
248 return Other.getUpper().ule(Upper) && Lower.ule(Other.getLower()); in contains()
256 if (Lower == Upper) in subtract()
258 return ConstantRange(Lower - Val, Upper - Val); in subtract()
285 if (Upper.ule(CR.Lower)) in intersectWith()
288 if (Upper.ult(CR.Upper)) in intersectWith()
289 return ConstantRange(CR.Lower, Upper); in intersectWith()
293 if (Upper.ult(CR.Upper)) in intersectWith()
296 if (Lower.ult(CR.Upper)) in intersectWith()
297 return ConstantRange(Lower, CR.Upper); in intersectWith()
303 if (CR.Lower.ult(Upper)) { in intersectWith()
304 if (CR.Upper.ult(Upper)) in intersectWith()
307 if (CR.Upper.ule(Lower)) in intersectWith()
308 return ConstantRange(CR.Lower, Upper); in intersectWith()
315 if (CR.Upper.ule(Lower)) in intersectWith()
318 return ConstantRange(Lower, CR.Upper); in intersectWith()
323 if (CR.Upper.ult(Upper)) { in intersectWith()
324 if (CR.Lower.ult(Upper)) { in intersectWith()
331 return ConstantRange(Lower, CR.Upper); in intersectWith()
335 if (CR.Upper.ule(Lower)) { in intersectWith()
339 return ConstantRange(CR.Lower, Upper); in intersectWith()
363 if (CR.Upper.ult(Lower) || Upper.ult(CR.Lower)) { in unionWith()
365 APInt d1 = CR.Lower - Upper, d2 = Lower - CR.Upper; in unionWith()
367 return ConstantRange(Lower, CR.Upper); in unionWith()
368 return ConstantRange(CR.Lower, Upper); in unionWith()
371 APInt L = Lower, U = Upper; in unionWith()
374 if ((CR.Upper - 1).ugt(U - 1)) in unionWith()
375 U = CR.Upper; in unionWith()
386 if (CR.Upper.ule(Upper) || CR.Lower.uge(Lower)) in unionWith()
391 if (CR.Lower.ule(Upper) && Lower.ule(CR.Upper)) in unionWith()
397 if (Upper.ule(CR.Lower) && CR.Upper.ule(Lower)) { in unionWith()
398 APInt d1 = CR.Lower - Upper, d2 = Lower - CR.Upper; in unionWith()
400 return ConstantRange(Lower, CR.Upper); in unionWith()
401 return ConstantRange(CR.Lower, Upper); in unionWith()
406 if (Upper.ult(CR.Lower) && Lower.ult(CR.Upper)) in unionWith()
407 return ConstantRange(CR.Lower, Upper); in unionWith()
411 assert(CR.Lower.ult(Upper) && CR.Upper.ult(Lower) && in unionWith()
413 return ConstantRange(Lower, CR.Upper); in unionWith()
418 if (CR.Lower.ule(Upper) || Lower.ule(CR.Upper)) in unionWith()
421 APInt L = Lower, U = Upper; in unionWith()
422 if (CR.Upper.ugt(U)) in unionWith()
423 U = CR.Upper; in unionWith()
442 if (!Upper) // special case: [X, 0) -- not really wrapping around in zeroExtend()
447 return ConstantRange(Lower.zext(DstTySize), Upper.zext(DstTySize)); in zeroExtend()
461 if (Upper.isMinSignedValue()) in signExtend()
462 return ConstantRange(Lower.sext(DstTySize), Upper.zext(DstTySize)); in signExtend()
469 return ConstantRange(Lower.sext(DstTySize), Upper.sext(DstTySize)); in signExtend()
487 APInt LowerDiv(Lower), UpperDiv(Upper); in truncate()
495 if (Upper.uge(MaxValue)) in truncate()
498 Union = ConstantRange(APInt::getMaxValue(DstTySize),Upper.trunc(DstTySize)); in truncate()
682 APInt Upper = getUnsignedMax().udiv(RHS_umin) + 1; in udiv() local
686 if (Lower == Upper) in udiv()
689 return ConstantRange(Lower, Upper); in udiv()
753 return ConstantRange(Upper, Lower); in inverse()
764 OS << "[" << Lower << "," << Upper << ")"; in print()