Lines Matching defs:umin
18 return umin().getBitWidth() == other.umin().getBitWidth() &&
19 umin() == other.umin() && umax() == other.umax() &&
23 const APInt &ConstantIntRanges::umin() const { return uminVal; }
59 APInt umin, umax;
61 umin = smin.ult(smax) ? smin : smax;
64 umin = APInt::getMinValue(width);
67 return {umin, umax, smin, smax};
70 ConstantIntRanges ConstantIntRanges::fromUnsigned(const APInt &umin,
72 unsigned int width = umin.getBitWidth();
74 if (umin.isNonNegative() == umax.isNonNegative()) {
75 smin = umin.slt(umax) ? umin : umax;
76 smax = umin.sgt(umax) ? umin : umax;
81 return {umin, umax, smin, smax};
88 if (umin().getBitWidth() == 0)
90 if (other.umin().getBitWidth() == 0)
93 const APInt &uminUnion = umin().ult(other.umin()) ? umin() : other.umin();
105 if (umin().getBitWidth() == 0)
107 if (other.umin().getBitWidth() == 0)
110 const APInt &uminIntersect = umin().ugt(other.umin()) ? umin() : other.umin();
120 if (umin() == umax() && umin().getBitWidth() != 0)
121 return umin();
128 return os << "unsigned : [" << range.umin() << ", " << range.umax()
137 APInt umin = APInt::getMinValue(width);
139 APInt smin = width != 0 ? APInt::getSignedMinValue(width) : umin;
141 return IntegerValueRange{ConstantIntRanges{umin, umax, smin, smax}};