Home
last modified time | relevance | path

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

12

/freebsd-12.1/contrib/llvm/include/llvm/IR/
H A DConstantRange.h222 ConstantRange unionWith(const ConstantRange &CR) const;
267 ConstantRange add(const ConstantRange &Other) const;
275 ConstantRange sub(const ConstantRange &Other) const;
284 ConstantRange smax(const ConstantRange &Other) const;
288 ConstantRange umax(const ConstantRange &Other) const;
292 ConstantRange smin(const ConstantRange &Other) const;
296 ConstantRange umin(const ConstantRange &Other) const;
301 ConstantRange udiv(const ConstantRange &Other) const;
314 ConstantRange shl(const ConstantRange &Other) const;
318 ConstantRange lshr(const ConstantRange &Other) const;
[all …]
H A DGlobalValue.h36 class ConstantRange; variable
556 Optional<ConstantRange> getAbsoluteSymbolRange() const;
/freebsd-12.1/contrib/llvm/lib/IR/
H A DConstantRange.cpp42 ConstantRange::ConstantRange(uint32_t BitWidth, bool Full) in ConstantRange() function in ConstantRange
46 ConstantRange::ConstantRange(APInt V) in ConstantRange() function in ConstantRange
49 ConstantRange::ConstantRange(APInt L, APInt U) in ConstantRange() function in ConstantRange
179 ConstantRange
424 ConstantRange ConstantRange::difference(const ConstantRange &CR) const { in difference()
428 ConstantRange ConstantRange::intersectWith(const ConstantRange &CR) const { in intersectWith()
502 ConstantRange ConstantRange::unionWith(const ConstantRange &CR) const { in unionWith()
761 ConstantRange::add(const ConstantRange &Other) const { in add()
794 ConstantRange::sub(const ConstantRange &Other) const { in sub()
920 ConstantRange::udiv(const ConstantRange &RHS) const { in udiv()
[all …]
H A DMetadata.cpp941 static bool isContiguous(const ConstantRange &A, const ConstantRange &B) { in isContiguous()
945 static bool canBeMerged(const ConstantRange &A, const ConstantRange &B) { in canBeMerged()
951 ConstantRange NewRange(Low->getValue(), High->getValue()); in tryMergeRange()
955 ConstantRange LastRange(LB, LE); in tryMergeRange()
957 ConstantRange Union = LastRange.unionWith(NewRange); in tryMergeRange()
1038 ConstantRange Range(EndPoints[0]->getValue(), EndPoints[1]->getValue()); in getMostGenericRange()
H A DGlobals.cpp277 Optional<ConstantRange> GlobalValue::getAbsoluteSymbolRange() const { in getAbsoluteSymbolRange()
H A DVerifier.cpp3226 static bool isContiguous(const ConstantRange &A, const ConstantRange &B) { in isContiguous()
3239 ConstantRange LastRange(1); // Dummy initial value in visitRangeMetadata()
3252 ConstantRange CurRange(LowV, HighV); in visitRangeMetadata()
3263 LastRange = ConstantRange(LowV, HighV); in visitRangeMetadata()
3270 ConstantRange FirstRange(FirstLow, FirstHigh); in visitRangeMetadata()
/freebsd-12.1/contrib/llvm/include/llvm/Analysis/
H A DValueLattice.h59 ConstantRange Range;
76 Range.~ConstantRange(); in ~ValueLatticeElement()
93 Range.~ConstantRange();
104 new (&Range) ConstantRange(Other.Range);
132 static ValueLatticeElement getRange(ConstantRange CR) { in getRange()
159 const ConstantRange &getConstantRange() const { in getConstantRange()
181 Range.~ConstantRange(); in markOverdefined()
188 markConstantRange(ConstantRange(CI->getValue())); in markConstant()
219 void markConstantRange(ConstantRange NewR) { in markConstantRange()
234 new (&Range) ConstantRange(std::move(NewR)); in markConstantRange()
[all …]
H A DLazyValueInfo.h24 class ConstantRange; variable
89 ConstantRange getConstantRange(Value *V, BasicBlock *BB, Instruction *CxtI = nullptr);
99 ConstantRange getConstantRangeOnEdge(Value *V, BasicBlock *FromBB,
H A DScalarEvolution.h799 ConstantRange getUnsignedRange(const SCEV *S) {
815 ConstantRange getSignedRange(const SCEV *S) {
1395 DenseMap<const SCEV *, ConstantRange> UnsignedRanges;
1398 DenseMap<const SCEV *, ConstantRange> SignedRanges;
1404 const ConstantRange &setRange(const SCEV *S, RangeSignHint Hint,
1405 ConstantRange CR) {
1406 DenseMap<const SCEV *, ConstantRange> &Cache =
1418 const ConstantRange &getRangeRef(const SCEV *S, RangeSignHint Hint);
1422 ConstantRange getRangeForAffineAR(const SCEV *Start, const SCEV *Stop,
1428 ConstantRange getRangeViaFactoring(const SCEV *Start, const SCEV *Stop,
H A DScalarEvolutionExpressions.h35 class ConstantRange; variable
348 const SCEV *getNumIterationsInRange(const ConstantRange &Range,
/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Scalar/
H A DFloat2Int.h34 void seen(Instruction *I, ConstantRange R);
35 ConstantRange badRange();
36 ConstantRange unknownRange();
37 ConstantRange validateRange(ConstantRange R);
44 MapVector<Instruction *, ConstantRange> SeenInsts;
/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DStackSafetyAnalysis.cpp67 ConstantRange Offset;
83 ConstantRange Range;
209 const ConstantRange UnknownRange;
219 ConstantRange getRange(uint64_t Lower, uint64_t Upper) const { in getRange()
233 ConstantRange
255 ConstantRange AccessStartRange = in getAccessRange()
257 ConstantRange SizeRange = getRange(0, AccessSize); in getAccessRange()
258 ConstantRange AccessRange = AccessStartRange.add(SizeRange); in getAccessRange()
349 ConstantRange Offset = offsetFromAlloca(UI, Ptr); in analyzeAllUses()
404 const ConstantRange UnknownRange;
[all …]
H A DLazyValueInfo.cpp120 ConstantRange Range = in intersect()
877 ConstantRange ResultCR = [&]() { in solveBlockValueSelect()
965 ConstantRange Range = ConstantRange(OperandBitWidth); in getRangeForOperand()
1009 ConstantRange LHSRange = LHSRes.getValue(); in solveBlockValueCast()
1062 ConstantRange LHSRange = LHSRes.getValue(); in solveBlockValueBinaryOp()
1063 ConstantRange RHSRange = RHSRes.getValue(); in solveBlockValueBinaryOp()
1116 RHSRange = ConstantRange(CI->getValue()); in getValueFromICmpCondition()
1124 ConstantRange TrueValues = in getValueFromICmpCondition()
1329 ConstantRange EdgeVal(CaseValue); in getEdgeValueLocal()
1585 return ConstantRange(Width, /*isFullSet=*/true); in getConstantRange()
[all …]
H A DScalarEvolution.cpp1946 ConstantRange CR = getSignedRange(X); in getSignExtendExpr()
5548 const ConstantRange &
5822 ConstantRange SR = in getRangeForAffineAR()
5945 ConstantRange TrueRange = in getRangeViaFactoring()
5947 ConstantRange FalseRange = in getRangeViaFactoring()
7342 ConstantRange CompRange = in computeExitLimitFromICmp()
8866 ConstantRange ExactCR = ConstantRange::makeExactICmpRegion(Pred, RA); in SimplifyICmpOperands()
9251 [&](const ConstantRange &RangeLHS, const ConstantRange &RangeRHS) { in isKnownPredicateViaConstantRanges()
10372 ConstantRange FoundLHSRange = in isImpliedCondOperandsViaRanges()
10376 ConstantRange LHSRange = FoundLHSRange.add(ConstantRange(*Addend)); in isImpliedCondOperandsViaRanges()
[all …]
H A DInstructionSimplify.cpp1496 auto Range0 = ConstantRange::makeExactICmpRegion(Cmp0->getPredicate(), *C0); in simplifyAndOrOfICmpsWithConstants()
1497 auto Range1 = ConstantRange::makeExactICmpRegion(Cmp1->getPredicate(), *C1); in simplifyAndOrOfICmpsWithConstants()
2718 ConstantRange RHS_CR = ConstantRange::makeExactICmpRegion(Pred, *C); in simplifyICmpWithConstant()
2733 ConstantRange LHS_CR = in simplifyICmpWithConstant()
2734 Lower != Upper ? ConstantRange(Lower, Upper) : ConstantRange(Width, true); in simplifyICmpWithConstant()
3093 ConstantRange AbsRange = ConstantRange::makeExactICmpRegion(AbsPred, Zero); in simplifyICmpWithAbsNabs()
3094 ConstantRange CmpRange = ConstantRange::makeExactICmpRegion(Pred, *C); in simplifyICmpWithAbsNabs()
3352 auto Satisfied_CR = ConstantRange::makeSatisfyingICmpRegion(Pred, RHS_CR); in SimplifyICmpInst()
3356 auto InversedSatisfied_CR = ConstantRange::makeSatisfyingICmpRegion( in SimplifyICmpInst()
H A DValueTracking.cpp454 ConstantRange Range(Lower->getValue(), Upper->getValue()); in computeKnownBitsFromRangeMetadata()
1949 ConstantRange Range(Lower->getValue(), Upper->getValue()); in rangeMetadataExcludesValue()
5277 ConstantRange DomCR = in isImpliedCondMatchingImmOperands()
5278 ConstantRange::makeExactICmpRegion(APred, C1->getValue()); in isImpliedCondMatchingImmOperands()
5279 ConstantRange CR = in isImpliedCondMatchingImmOperands()
5280 ConstantRange::makeAllowedICmpRegion(BPred, C2->getValue()); in isImpliedCondMatchingImmOperands()
5281 ConstantRange Intersection = DomCR.intersectWith(CR); in isImpliedCondMatchingImmOperands()
5282 ConstantRange Difference = DomCR.difference(CR); in isImpliedCondMatchingImmOperands()
/freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/
H A DFloat2Int.cpp150 ConstantRange Float2IntPass::badRange() { in badRange()
151 return ConstantRange(MaxIntegerBW + 1, true); in badRange()
153 ConstantRange Float2IntPass::unknownRange() { in unknownRange()
156 ConstantRange Float2IntPass::validateRange(ConstantRange R) { in validateRange()
198 auto Input = ConstantRange(BW, true); in walkBackwards()
236 std::function<ConstantRange(ArrayRef<ConstantRange>)> Op; in walkForwards()
247 Op = [I](ArrayRef<ConstantRange> Ops) { in walkForwards()
260 Op = [I](ArrayRef<ConstantRange> Ops) { in walkForwards()
270 Op = [](ArrayRef<ConstantRange> Ops) { in walkForwards()
278 SmallVector<ConstantRange,4> OpRanges; in walkForwards()
[all …]
H A DCorrelatedValuePropagation.cpp407 ConstantRange RRange = LVI->getConstantRange(RHS, II->getParent(), II); in willNotOverflow()
408 ConstantRange NWRegion = ConstantRange::makeGuaranteedNoWrapRegion( in willNotOverflow()
414 ConstantRange LRange = LVI->getConstantRange(LHS, II->getParent(), II); in willNotOverflow()
515 ConstantRange OperandRange(OrigWidth, /*isFullset=*/false); in processUDivOrURem()
625 ConstantRange LRange = LVI->getConstantRange(LHS, BB, AddOp); in processAdd()
630 Optional<ConstantRange> RRange; in processAdd()
639 ConstantRange NUWRange = ConstantRange::makeGuaranteedNoWrapRegion( in processAdd()
648 ConstantRange NSWRange = ConstantRange::makeGuaranteedNoWrapRegion( in processAdd()
H A DGuardWidening.cpp531 ConstantRange CR0 = in widenCondCommon()
532 ConstantRange::makeExactICmpRegion(Pred0, RHS0->getValue()); in widenCondCommon()
533 ConstantRange CR1 = in widenCondCommon()
534 ConstantRange::makeExactICmpRegion(Pred1, RHS1->getValue()); in widenCondCommon()
H A DIndVarSimplify.cpp961 DenseMap<DefUserPair, ConstantRange> PostIncRangeInfos;
963 Optional<ConstantRange> getPostIncRangeInfo(Value *Def, in getPostIncRangeInfo()
968 ? Optional<ConstantRange>(None) in getPostIncRangeInfo()
969 : Optional<ConstantRange>(It->second); in getPostIncRangeInfo()
975 void updatePostIncRangeInfo(Value *Def, Instruction *UseI, ConstantRange R) { in updatePostIncRangeInfo()
1799 ConstantRange::makeAllowedICmpRegion(P, CmpRHSRange); in calculatePostIncRange()
H A DJumpThreading.cpp853 ConstantRange CR = LVI->getConstantRangeOnEdge( in ComputeValueKnownInPredecessorsImpl()
859 ConstantRange CmpRange = ConstantRange::makeExactICmpRegion( in ComputeValueKnownInPredecessorsImpl()
/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DSafeStack.cpp237 ConstantRange AccessStartRange = SE.getUnsignedRange(Expr); in IsAccessSafe()
238 ConstantRange SizeRange = in IsAccessSafe()
239 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AccessSize)); in IsAccessSafe()
240 ConstantRange AccessRange = AccessStartRange.add(SizeRange); in IsAccessSafe()
241 ConstantRange AllocaRange = in IsAccessSafe()
242 ConstantRange(APInt(BitWidth, 0), APInt(BitWidth, AllocaSize)); in IsAccessSafe()
/freebsd-12.1/contrib/llvm/lib/Target/X86/
H A DX86Subtarget.cpp130 if (Optional<ConstantRange> CR = GV->getAbsoluteSymbolRange()) { in classifyGlobalReference()
/freebsd-12.1/contrib/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp1404 ConstantRange CR = ConstantRange::makeAllowedICmpRegion(Pred, *C); in foldICmpWithDominatingICmp()
1405 ConstantRange DominatingCR = in foldICmpWithDominatingICmp()
1406 (CmpBB == TrueBB) ? ConstantRange::makeExactICmpRegion(DomPred, *DomC) in foldICmpWithDominatingICmp()
1407 : ConstantRange::makeExactICmpRegion( in foldICmpWithDominatingICmp()
1409 ConstantRange Intersection = DominatingCR.intersectWith(CR); in foldICmpWithDominatingICmp()
1410 ConstantRange Difference = DominatingCR.difference(CR); in foldICmpWithDominatingICmp()
2393 auto CR = ConstantRange::makeExactICmpRegion(Pred, C).subtract(*C2); in foldICmpAddConstant()
/freebsd-12.1/contrib/llvm/include/llvm/
H A Dmodule.modulemap220 module IR_ConstantRange { header "IR/ConstantRange.h" export * }

12