Home
last modified time | relevance | path

Searched refs:ConstantRange (Results 1 – 25 of 43) sorted by relevance

12

/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantRange.h297 ConstantRange intersectWith(const ConstantRange &CR,
305 ConstantRange unionWith(const ConstantRange &CR,
359 ConstantRange add(const ConstantRange &Other) const;
371 ConstantRange sub(const ConstantRange &Other) const;
388 ConstantRange smax(const ConstantRange &Other) const;
392 ConstantRange umax(const ConstantRange &Other) const;
396 ConstantRange smin(const ConstantRange &Other) const;
400 ConstantRange umin(const ConstantRange &Other) const;
405 ConstantRange udiv(const ConstantRange &Other) const;
412 ConstantRange sdiv(const ConstantRange &Other) const;
[all …]
H A DGlobalValue.h35 class ConstantRange; variable
562 Optional<ConstantRange> getAbsoluteSymbolRange() const;
H A DModuleSummaryIndex.h587 ConstantRange Offsets{/*BitWidth=*/RangeWidth, /*isFullSet=*/true};
590 Call(uint64_t ParamNo, ValueInfo Callee, const ConstantRange &Offsets)
599 ConstantRange Use{/*BitWidth=*/RangeWidth, /*isFullSet=*/true};
607 ParamAccess(uint64_t ParamNo, const ConstantRange &Use)
/freebsd-13.1/contrib/llvm-project/llvm/lib/IR/
H A DConstantRange.cpp47 ConstantRange::ConstantRange(APInt V) in ConstantRange() function in ConstantRange
50 ConstantRange::ConstantRange(APInt L, APInt U) in ConstantRange() function in ConstantRange
444 ConstantRange ConstantRange::difference(const ConstantRange &CR) const { in difference()
468 ConstantRange ConstantRange::intersectWith(const ConstantRange &CR, in intersectWith()
574 ConstantRange ConstantRange::unionWith(const ConstantRange &CR, in unionWith()
927 ConstantRange ConstantRange::addWithNoWrap(const ConstantRange &Other, in addWithNoWrap()
974 ConstantRange ConstantRange::subWithNoWrap(const ConstantRange &Other, in subWithNoWrap()
1135 ConstantRange ConstantRange::sdiv(const ConstantRange &RHS) const { in sdiv()
1220 ConstantRange ConstantRange::urem(const ConstantRange &RHS) const { in urem()
1242 ConstantRange ConstantRange::srem(const ConstantRange &RHS) const { in srem()
[all …]
H A DMetadata.cpp984 static bool isContiguous(const ConstantRange &A, const ConstantRange &B) { in isContiguous()
988 static bool canBeMerged(const ConstantRange &A, const ConstantRange &B) { in canBeMerged()
994 ConstantRange NewRange(Low->getValue(), High->getValue()); in tryMergeRange()
998 ConstantRange LastRange(LB, LE); in tryMergeRange()
1000 ConstantRange Union = LastRange.unionWith(NewRange); in tryMergeRange()
1081 ConstantRange Range(EndPoints[0]->getValue(), EndPoints[1]->getValue()); in getMostGenericRange()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DStackSafetyAnalysis.cpp72 bool isUnsafe(const ConstantRange &R) { in isUnsafe()
76 ConstantRange addOverflowNever(const ConstantRange &L, const ConstantRange &R) { in addOverflowNever()
82 ConstantRange Result = L.add(R); in addOverflowNever()
87 ConstantRange unionNoWrap(const ConstantRange &L, const ConstantRange &R) { in unionNoWrap()
118 ConstantRange Range;
151 ConstantRange R = ConstantRange::getEmpty(PointerSize); in getStaticAllocaSizeRange()
236 const ConstantRange UnknownRange;
275 ConstantRange
479 const ConstantRange UnknownRange;
513 const ConstantRange &Offsets) const { in getArgumentAccessRange()
[all …]
H A DLazyValueInfo.cpp124 ConstantRange Range = in intersect()
417 std::function<ConstantRange(const ConstantRange &,
820 ConstantRange ResultCR = [&]() { in solveBlockValueSelect()
932 std::function<ConstantRange(const ConstantRange &, in solveBlockValueBinaryOpImpl() argument
969 [BO, NoWrapKind](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueBinaryOp()
975 BO, BB, [BO](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueBinaryOp()
984 WO, BB, [WO](const ConstantRange &CR1, const ConstantRange &CR2) { in solveBlockValueOverflowIntrinsic()
1071 ConstantRange TrueValues = in getValueFromSimpleICmpCondition()
1144 ConstantRange NWR = ConstantRange::makeExactNoWrapRegion( in getValueFromOverflowCondition()
1382 ConstantRange EdgeVal(CaseValue); in getEdgeValueLocal()
[all …]
H A DScalarEvolution.cpp5862 ConstantRange ScalarEvolution::
5984 const ConstantRange &
5992 ? ConstantRange::Unsigned : ConstantRange::Signed; in getRangeRef()
6138 ConstantRange::getNonEmpty( in getRangeRef()
6337 ConstantRange SR = in getRangeForAffineAR()
6528 ConstantRange TrueRange = in getRangeViaFactoring()
6530 ConstantRange FalseRange = in getRangeViaFactoring()
8066 ConstantRange CompRange = in computeExitLimitFromICmp()
9659 ConstantRange ExactCR = ConstantRange::makeExactICmpRegion(Pred, RA); in SimplifyICmpOperands()
11457 ConstantRange FoundLHSRange = in isImpliedCondOperandsViaRanges()
[all …]
H A DValueTracking.cpp584 ConstantRange TrueValues = ConstantRange::makeExactICmpRegion(Pred, *C); in cmpExcludesZero()
4694 ConstantRange CR1 = ConstantRange::fromKnownBits(Known, ForSigned); in computeConstantRangeIncludingKnownBits()
4696 ConstantRange::PreferredRangeType RangeType = in computeConstantRangeIncludingKnownBits()
4697 ForSigned ? ConstantRange::Signed : ConstantRange::Unsigned; in computeConstantRangeIncludingKnownBits()
4709 ConstantRange LHSRange = ConstantRange::fromKnownBits(LHSKnown, false); in computeOverflowForUnsignedMul()
4710 ConstantRange RHSRange = ConstantRange::fromKnownBits(RHSKnown, false); in computeOverflowForUnsignedMul()
6493 ConstantRange DomCR = in isImpliedCondMatchingImmOperands()
6495 ConstantRange CR = ConstantRange::makeExactICmpRegion(BPred, C2->getValue()); in isImpliedCondMatchingImmOperands()
6497 ConstantRange Difference = DomCR.difference(CR); in isImpliedCondMatchingImmOperands()
7010 return ConstantRange(*C); in computeConstantRange()
[all …]
H A DLoads.cpp464 ConstantRange LoadRange(LoadOffset, in areNonOverlapSameBaseLoadAndStore()
466 ConstantRange StoreRange(StoreOffset, in areNonOverlapSameBaseLoadAndStore()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DFloat2Int.h35 void seen(Instruction *I, ConstantRange R);
36 ConstantRange badRange();
37 ConstantRange unknownRange();
38 ConstantRange validateRange(ConstantRange R);
45 MapVector<Instruction *, ConstantRange> SeenInsts;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DFloat2Int.cpp160 ConstantRange Float2IntPass::badRange() { in badRange()
163 ConstantRange Float2IntPass::unknownRange() { in unknownRange()
166 ConstantRange Float2IntPass::validateRange(ConstantRange R) { in validateRange()
208 auto Input = ConstantRange::getFull(BW); in walkBackwards()
247 std::function<ConstantRange(ArrayRef<ConstantRange>)> Op; in walkForwards()
256 Op = [](ArrayRef<ConstantRange> Ops) { in walkForwards()
267 Op = [I](ArrayRef<ConstantRange> Ops) { in walkForwards()
280 Op = [I](ArrayRef<ConstantRange> Ops) { in walkForwards()
290 Op = [](ArrayRef<ConstantRange> Ops) { in walkForwards()
298 SmallVector<ConstantRange,4> OpRanges; in walkForwards()
[all …]
H A DCorrelatedValuePropagation.cpp392 ConstantRange LRange = LVI->getConstantRange(BO->getLHS(), BO); in willNotOverflow()
393 ConstantRange RRange = LVI->getConstantRange(BO->getRHS(), BO); in willNotOverflow()
394 ConstantRange NWRegion = ConstantRange::makeGuaranteedNoWrapRegion( in willNotOverflow()
684 std::array<Optional<ConstantRange>, 2> CRs; in narrowSDivOrSRem()
739 ConstantRange CR = LVI->getConstantRange(Operand, Instr); in processUDivOrURem()
945 ConstantRange LRange = LVI->getConstantRange(LHS, BinOp); in processBinOp()
946 ConstantRange RRange = LVI->getConstantRange(RHS, BinOp); in processBinOp()
951 ConstantRange NUWRange = ConstantRange::makeGuaranteedNoWrapRegion( in processBinOp()
957 ConstantRange NSWRange = ConstantRange::makeGuaranteedNoWrapRegion( in processBinOp()
981 ConstantRange LRange = in processAnd()
H A DGuardWidening.cpp512 ConstantRange CR0 = in widenCondCommon()
513 ConstantRange::makeExactICmpRegion(Pred0, RHS0->getValue()); in widenCondCommon()
514 ConstantRange CR1 = in widenCondCommon()
515 ConstantRange::makeExactICmpRegion(Pred1, RHS1->getValue()); in widenCondCommon()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DValueLattice.h88 ConstantRange Range;
102 Range.~ConstantRange(); in destroy()
155 new (&Range) ConstantRange(Other.Range); in ValueLatticeElement()
174 new (&Range) ConstantRange(std::move(Other.Range)); in ValueLatticeElement()
215 static ValueLatticeElement getRange(ConstantRange CR,
270 const ConstantRange &getConstantRange(bool UndefAllowed = true) const {
313 ConstantRange(CI->getValue()),
326 ConstantRange(CI->getValue() + 1, CI->getValue())); in markNotConstant()
348 bool markConstantRange(ConstantRange NewR,
380 new (&Range) ConstantRange(std::move(NewR));
[all …]
H A DLazyValueInfo.h23 class ConstantRange; variable
95 ConstantRange getConstantRange(Value *V, Instruction *CxtI,
106 ConstantRange getConstantRangeOnEdge(Value *V, BasicBlock *FromBB,
H A DScalarEvolution.h892 ConstantRange getUnsignedRange(const SCEV *S) {
908 ConstantRange getSignedRange(const SCEV *S) {
1578 DenseMap<const SCEV *, ConstantRange> UnsignedRanges;
1581 DenseMap<const SCEV *, ConstantRange> SignedRanges;
1587 const ConstantRange &setRange(const SCEV *S, RangeSignHint Hint,
1588 ConstantRange CR) {
1589 DenseMap<const SCEV *, ConstantRange> &Cache =
1601 const ConstantRange &getRangeRef(const SCEV *S, RangeSignHint Hint);
1605 ConstantRange getRangeForAffineAR(const SCEV *Start, const SCEV *Stop,
1618 ConstantRange getRangeViaFactoring(const SCEV *Start, const SCEV *Stop,
[all …]
H A DScalarEvolutionExpressions.h34 class ConstantRange; variable
416 const SCEV *getNumIterationsInRange(const ConstantRange &Range,
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSCCPSolver.cpp630 const ConstantRange &Range = SCValue.getConstantRange(); in getFeasibleSuccessors()
814 ConstantRange OpRange = OpSt.getConstantRange(); in visitCastInst()
826 ConstantRange Res = in visitCastInst()
999 ConstantRange A = ConstantRange::getFull(I.getType()->getScalarSizeInBits()); in visitBinaryOperator()
1000 ConstantRange B = ConstantRange::getFull(I.getType()->getScalarSizeInBits()); in visitBinaryOperator()
1295 ImposedCR = ConstantRange::makeAllowedICmpRegion( in handleCallResult()
1302 : ConstantRange::getFull( in handleCallResult()
1333 if (ConstantRange::isIntrinsicSupported(II->getIntrinsicID())) { in handleCallResult()
1337 SmallVector<ConstantRange, 2> OpRanges; in handleCallResult()
1347 ConstantRange Result = in handleCallResult()
[all …]
H A DLowerSwitch.cpp401 ConstantRange KnownBitsRange = in ProcessSwitchInst()
402 ConstantRange::fromKnownBits(Known, /*IsSigned=*/false); in ProcessSwitchInst()
403 const ConstantRange LVIRange = LVI->getConstantRange(Val, SI); in ProcessSwitchInst()
404 ConstantRange ValRange = KnownBitsRange.intersectWith(LVIRange); in ProcessSwitchInst()
H A DSimplifyIndVar.cpp753 ConstantRange IVRange = SE->getUnsignedRange(SE->getSCEV(IVOperand)); in strengthenRightShift()
993 DenseMap<DefUserPair, ConstantRange> PostIncRangeInfos;
995 Optional<ConstantRange> getPostIncRangeInfo(Value *Def, in getPostIncRangeInfo()
1000 ? Optional<ConstantRange>(None) in getPostIncRangeInfo()
1001 : Optional<ConstantRange>(It->second); in getPostIncRangeInfo()
1007 void updatePostIncRangeInfo(Value *Def, Instruction *UseI, ConstantRange R) { in updatePostIncRangeInfo()
1960 ConstantRange::makeAllowedICmpRegion(P, CmpRHSRange); in calculatePostIncRange()
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DSafeStack.cpp241 ConstantRange AccessStartRange = SE.getUnsignedRange(Expr); in IsAccessSafe()
242 ConstantRange SizeRange = in IsAccessSafe()
243 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AccessSize)); in IsAccessSafe()
244 ConstantRange AccessRange = AccessStartRange.add(SizeRange); in IsAccessSafe()
245 ConstantRange AllocaRange = in IsAccessSafe()
246 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AllocaSize)); in IsAccessSafe()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/
H A DAttributor.h2405 ConstantRange Assumed;
2408 ConstantRange Known;
2412 Known(ConstantRange::getFull(BitWidth)) {}
2414 IntegerRangeState(const ConstantRange &CR)
2420 return ConstantRange::getFull(BitWidth);
2425 return ConstantRange::getEmpty(BitWidth);
2461 void unionAssumed(const ConstantRange &R) {
2472 void unionKnown(const ConstantRange &R) {
2482 void intersectKnown(const ConstantRange &R) {
3945 virtual ConstantRange
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86Subtarget.cpp131 if (Optional<ConstantRange> CR = GV->getAbsoluteSymbolRange()) { in classifyGlobalReference()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DAttributorAttributes.cpp7987 ConstantRange getConstantRangeFromSCEV(Attributor &A, in getConstantRangeFromSCEV()
8005 ConstantRange
8052 ConstantRange
8059 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getKnownConstantRange()
8060 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getKnownConstantRange()
8065 ConstantRange
8076 ConstantRange LVIR = getConstantRangeFromLVI(A, CtxI); in getAssumedConstantRange()
8077 ConstantRange SCEVR = getConstantRangeFromSCEV(A, CtxI); in getAssumedConstantRange()
8114 ConstantRange Known(Lower->getValue(), Upper->getValue()); in isBetterRange()
8216 unionAssumed(ConstantRange(C->getValue())); in initialize()
[all …]

12