Lines Matching refs:Other
222 bool ConstantRange::contains(const ConstantRange &Other) const { in contains()
223 if (isFullSet() || Other.isEmptySet()) return true; in contains()
224 if (isEmptySet() || Other.isFullSet()) return false; in contains()
227 if (Other.isWrappedSet()) in contains()
230 return Lower.ule(Other.getLower()) && Other.getUpper().ule(Upper); in contains()
233 if (!Other.isWrappedSet()) in contains()
234 return Other.getUpper().ule(Upper) || in contains()
235 Lower.ule(Other.getLower()); in contains()
237 return Other.getUpper().ule(Upper) && Lower.ule(Other.getLower()); in contains()
539 ConstantRange::add(const ConstantRange &Other) const { in add()
540 if (isEmptySet() || Other.isEmptySet()) in add()
542 if (isFullSet() || Other.isFullSet()) in add()
545 APInt Spread_X = getSetSize(), Spread_Y = Other.getSetSize(); in add()
546 APInt NewLower = getLower() + Other.getLower(); in add()
547 APInt NewUpper = getUpper() + Other.getUpper() - 1; in add()
560 ConstantRange::sub(const ConstantRange &Other) const { in sub()
561 if (isEmptySet() || Other.isEmptySet()) in sub()
563 if (isFullSet() || Other.isFullSet()) in sub()
566 APInt Spread_X = getSetSize(), Spread_Y = Other.getSetSize(); in sub()
567 APInt NewLower = getLower() - Other.getUpper() + 1; in sub()
568 APInt NewUpper = getUpper() - Other.getLower(); in sub()
581 ConstantRange::multiply(const ConstantRange &Other) const { in multiply()
587 if (isEmptySet() || Other.isEmptySet()) in multiply()
592 APInt Other_min = Other.getUnsignedMin().zext(getBitWidth() * 2); in multiply()
593 APInt Other_max = Other.getUnsignedMax().zext(getBitWidth() * 2); in multiply()
601 ConstantRange::smax(const ConstantRange &Other) const { in smax()
604 if (isEmptySet() || Other.isEmptySet()) in smax()
606 APInt NewL = APIntOps::smax(getSignedMin(), Other.getSignedMin()); in smax()
607 APInt NewU = APIntOps::smax(getSignedMax(), Other.getSignedMax()) + 1; in smax()
614 ConstantRange::umax(const ConstantRange &Other) const { in umax()
617 if (isEmptySet() || Other.isEmptySet()) in umax()
619 APInt NewL = APIntOps::umax(getUnsignedMin(), Other.getUnsignedMin()); in umax()
620 APInt NewU = APIntOps::umax(getUnsignedMax(), Other.getUnsignedMax()) + 1; in umax()
656 ConstantRange::binaryAnd(const ConstantRange &Other) const { in binaryAnd()
657 if (isEmptySet() || Other.isEmptySet()) in binaryAnd()
662 APInt umin = APIntOps::umin(Other.getUnsignedMax(), getUnsignedMax()); in binaryAnd()
669 ConstantRange::binaryOr(const ConstantRange &Other) const { in binaryOr()
670 if (isEmptySet() || Other.isEmptySet()) in binaryOr()
675 APInt umax = APIntOps::umax(getUnsignedMin(), Other.getUnsignedMin()); in binaryOr()
682 ConstantRange::shl(const ConstantRange &Other) const { in shl()
683 if (isEmptySet() || Other.isEmptySet()) in shl()
686 APInt min = getUnsignedMin().shl(Other.getUnsignedMin()); in shl()
687 APInt max = getUnsignedMax().shl(Other.getUnsignedMax()); in shl()
691 if (Zeros.ugt(Other.getUnsignedMax())) in shl()
699 ConstantRange::lshr(const ConstantRange &Other) const { in lshr()
700 if (isEmptySet() || Other.isEmptySet()) in lshr()
703 APInt max = getUnsignedMax().lshr(Other.getUnsignedMin()); in lshr()
704 APInt min = getUnsignedMin().lshr(Other.getUnsignedMax()); in lshr()