| /freebsd-12.1/contrib/llvm/include/llvm/IR/ |
| H A D | ConstantRange.h | 222 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 D | GlobalValue.h | 36 class ConstantRange; variable 556 Optional<ConstantRange> getAbsoluteSymbolRange() const;
|
| /freebsd-12.1/contrib/llvm/lib/IR/ |
| H A D | ConstantRange.cpp | 42 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 D | Metadata.cpp | 941 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 D | Globals.cpp | 277 Optional<ConstantRange> GlobalValue::getAbsoluteSymbolRange() const { in getAbsoluteSymbolRange()
|
| H A D | Verifier.cpp | 3226 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 D | ValueLattice.h | 59 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 D | LazyValueInfo.h | 24 class ConstantRange; variable 89 ConstantRange getConstantRange(Value *V, BasicBlock *BB, Instruction *CxtI = nullptr); 99 ConstantRange getConstantRangeOnEdge(Value *V, BasicBlock *FromBB,
|
| H A D | ScalarEvolution.h | 799 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 D | ScalarEvolutionExpressions.h | 35 class ConstantRange; variable 348 const SCEV *getNumIterationsInRange(const ConstantRange &Range,
|
| /freebsd-12.1/contrib/llvm/include/llvm/Transforms/Scalar/ |
| H A D | Float2Int.h | 34 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 D | StackSafetyAnalysis.cpp | 67 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 D | LazyValueInfo.cpp | 120 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 D | ScalarEvolution.cpp | 1946 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 D | InstructionSimplify.cpp | 1496 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 D | ValueTracking.cpp | 454 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 D | Float2Int.cpp | 150 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 D | CorrelatedValuePropagation.cpp | 407 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 D | GuardWidening.cpp | 531 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 D | IndVarSimplify.cpp | 961 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 D | JumpThreading.cpp | 853 ConstantRange CR = LVI->getConstantRangeOnEdge( in ComputeValueKnownInPredecessorsImpl() 859 ConstantRange CmpRange = ConstantRange::makeExactICmpRegion( in ComputeValueKnownInPredecessorsImpl()
|
| /freebsd-12.1/contrib/llvm/lib/CodeGen/ |
| H A D | SafeStack.cpp | 237 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 D | X86Subtarget.cpp | 130 if (Optional<ConstantRange> CR = GV->getAbsoluteSymbolRange()) { in classifyGlobalReference()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCompares.cpp | 1404 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 D | module.modulemap | 220 module IR_ConstantRange { header "IR/ConstantRange.h" export * }
|