Lines Matching refs:ConstantRange
123 ConstantRange Range = in intersect()
413 Optional<ConstantRange> getRangeFor(Value *V, Instruction *CxtI,
417 std::function<ConstantRange(const ConstantRange &,
418 const ConstantRange &)> OpFn);
797 static ConstantRange getConstantRangeOrFull(const ValueLatticeElement &Val, in getConstantRangeOrFull()
801 return ConstantRange::getFull(DL.getTypeSizeInBits(Ty)); in getConstantRangeOrFull()
820 const ConstantRange &TrueCR = in solveBlockValueSelect()
822 const ConstantRange &FalseCR = in solveBlockValueSelect()
832 ConstantRange ResultCR = [&]() { in solveBlockValueSelect()
861 ConstantRange Zero(APInt::getZero(TrueCR.getBitWidth())); in solveBlockValueSelect()
885 Optional<ConstantRange> LazyValueInfoImpl::getRangeFor(Value *V, in getRangeFor()
920 Optional<ConstantRange> LHSRes = getRangeFor(CI->getOperand(0), CI, BB); in solveBlockValueCast()
924 const ConstantRange &LHSRange = LHSRes.value(); in solveBlockValueCast()
937 std::function<ConstantRange(const ConstantRange &, in solveBlockValueBinaryOpImpl() argument
938 const ConstantRange &)> OpFn) { in solveBlockValueBinaryOpImpl()
943 Optional<ConstantRange> LHSRes = getRangeFor(I->getOperand(0), I, BB); in solveBlockValueBinaryOpImpl()
944 Optional<ConstantRange> RHSRes = getRangeFor(I->getOperand(1), I, BB); in solveBlockValueBinaryOpImpl()
949 const ConstantRange &LHSRange = LHSRes.value(); in solveBlockValueBinaryOpImpl()
950 const ConstantRange &RHSRange = RHSRes.value(); in solveBlockValueBinaryOpImpl()
967 [BO, NoWrapKind](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueBinaryOp()
973 BO, BB, [BO](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueBinaryOp()
982 WO, BB, [WO](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueOverflowIntrinsic()
989 if (!ConstantRange::isIntrinsicSupported(II->getIntrinsicID())) { in solveBlockValueIntrinsic()
995 SmallVector<ConstantRange, 2> OpRanges; in solveBlockValueIntrinsic()
997 Optional<ConstantRange> Range = getRangeFor(Op, II, BB); in solveBlockValueIntrinsic()
1004 ConstantRange::intrinsic(II->getIntrinsicID(), OpRanges)); in solveBlockValueIntrinsic()
1061 ConstantRange RHSRange(RHS->getType()->getIntegerBitWidth(), in getValueFromSimpleICmpCondition()
1064 RHSRange = ConstantRange(CI->getValue()); in getValueFromSimpleICmpCondition()
1069 ConstantRange TrueValues = in getValueFromSimpleICmpCondition()
1070 ConstantRange::makeAllowedICmpRegion(Pred, RHSRange); in getValueFromSimpleICmpCondition()
1115 ConstantRange::fromKnownBits(Known, /*IsSigned*/ false)); in getValueFromICmpCondition()
1120 return ValueLatticeElement::getRange(ConstantRange::getNonEmpty( in getValueFromICmpCondition()
1133 ConstantRange CR = ConstantRange::makeExactICmpRegion(EdgePred, *C); in getValueFromICmpCondition()
1135 return ValueLatticeElement::getRange(ConstantRange::getNonEmpty( in getValueFromICmpCondition()
1154 ConstantRange NWR = ConstantRange::makeExactNoWrapRegion( in getValueFromOverflowCondition()
1275 return ValueLatticeElement::getRange(ConstantRange(C->getValue())); in constantFoldUser()
1286 return ValueLatticeElement::getRange(ConstantRange(C->getValue())); in constantFoldUser()
1290 return ValueLatticeElement::getRange(ConstantRange(OpConstVal)); in constantFoldUser()
1388 ConstantRange EdgesVals(BitWidth, DefaultCase/*isFullSet*/); in getEdgeValueLocal()
1392 ConstantRange EdgeVal(CaseValue); in getEdgeValueLocal()
1603 const ConstantRange &CR = Result.getConstantRange(); in getConstant()
1610 ConstantRange LazyValueInfo::getConstantRange(Value *V, Instruction *CxtI, in getConstantRange()
1618 return ConstantRange::getEmpty(Width); in getConstantRange()
1625 return ConstantRange::getFull(Width); in getConstantRange()
1640 const ConstantRange &CR = Result.getConstantRange(); in getConstantOnEdge()
1647 ConstantRange LazyValueInfo::getConstantRangeOnEdge(Value *V, in getConstantRangeOnEdge()
1657 return ConstantRange::getEmpty(Width); in getConstantRangeOnEdge()
1664 return ConstantRange::getFull(Width); in getConstantRangeOnEdge()
1683 const ConstantRange &CR = Val.getConstantRange(); in getPredicateResult()
1698 ConstantRange TrueValues = ConstantRange::makeExactICmpRegion( in getPredicateResult()