| /freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopCacheAnalysis.cpp | 82 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&AccessFn); in isOneDimensionalArray() 91 if (isa<SCEVAddRecExpr>(Start) || isa<SCEVAddRecExpr>(Step)) in isOneDimensionalArray() 367 const SCEVAddRecExpr *AccessFnAR = dyn_cast<SCEVAddRecExpr>(AccessFn); in delinearize() 428 assert(isa<SCEVAddRecExpr>(LastSubscript) && in getLastCoefficient() 430 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LastSubscript); in getLastCoefficient() 436 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&Subscript); in isCoeffForLoopZeroOrInvariant() 443 if (!isa<SCEVAddRecExpr>(Subscript)) in isSimpleAddRecurrence() 446 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(&Subscript); in isSimpleAddRecurrence()
|
| H A D | ScalarEvolutionNormalization.cpp | 42 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr); 47 NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) { in visitAddRecExpr() 99 auto Pred = [&](const SCEVAddRecExpr *AR) { in normalizeForPostIncUse() 113 auto Pred = [&](const SCEVAddRecExpr *AR) { in denormalizeForPostIncUse()
|
| H A D | IVUsers.cpp | 63 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting() 256 auto NormalizePred = [&](const SCEVAddRecExpr *AR) { in AddUsersImpl() 395 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop() 396 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop() 404 if (const SCEVAddRecExpr *AR = findAddRecForLoop(Op, L)) in findAddRecForLoop() 413 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
|
| H A D | ScalarEvolution.cpp | 285 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print() 739 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in CompareSCEVComplexity() 740 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in CompareSCEVComplexity() 1408 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend() 1627 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getZeroExtendExpr() 1968 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getSignExtendExpr() 11030 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in isImpliedViaMerge() 11576 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyLessThans() 11960 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyGreaterThans() 12957 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeLoopDisposition() [all …]
|
| H A D | DependenceAnalysis.cpp | 891 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in checkSubscript() 1048 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in isKnownNonNegative() 2146 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV() 2147 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV() 2223 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV() 2224 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV() 2985 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in findCoefficient() 3001 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in zeroCoefficient() 3021 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in addToCoefficient() 3417 const SCEVAddRecExpr *SrcAR = dyn_cast<SCEVAddRecExpr>(SrcSCEV); in tryDelinearizeParametricSize() [all …]
|
| H A D | ScalarEvolutionAliasAnalysis.cpp | 106 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
|
| H A D | LoopAccessAnalysis.cpp | 207 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc); in insert() 644 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in hasComputableBounds() 685 if (!Assume || !isa<SCEVAddRecExpr>(Expr)) in createCheckForAccess() 982 static bool isNoWrapAddRec(Value *Ptr, const SCEVAddRecExpr *AR, in isNoWrapAddRec() 1021 if (auto *OpAR = dyn_cast<SCEVAddRecExpr>(OpScev)) in isNoWrapAddRec() 1045 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in getPtrStride()
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolutionNormalization.h | 46 class SCEVAddRecExpr; variable 50 typedef function_ref<bool(const SCEVAddRecExpr *)> NormalizePredTy;
|
| H A D | ScalarEvolution.h | 67 class SCEVAddRecExpr; variable 367 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE); 370 const SCEVAddRecExpr *AR; 375 const SCEVAddRecExpr *AR, 1020 getMonotonicPredicateType(const SCEVAddRecExpr *LHS, 1208 getWrapPredicate(const SCEVAddRecExpr *AR, 1216 const SCEVAddRecExpr *convertSCEVToAddRecWithPredicates( 1990 getMonotonicPredicateTypeImpl(const SCEVAddRecExpr *LHS, 2197 const SCEVAddRecExpr *getAsAddRec(Value *V); 2218 bool areAddRecsEqualWithPreds(const SCEVAddRecExpr *AR1, [all …]
|
| H A D | ScalarEvolutionExpressions.h | 352 class SCEVAddRecExpr : public SCEVNAryExpr { 357 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function 421 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const; 596 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit() 796 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 900 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 909 return SCEVAddRecExpr::evaluateAtIteration(Operands, Map[L], SE); in visitAddRecExpr()
|
| H A D | ScalarEvolutionDivision.h | 50 void visitAddRecExpr(const SCEVAddRecExpr *Numerator);
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopDataPrefetch.cpp | 78 bool isStrideLargeEnough(const SCEVAddRecExpr *AR, unsigned TargetMinStride); 155 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR, in isStrideLargeEnough() 233 const SCEVAddRecExpr *LSCEVAddRec; 242 Prefetch(const SCEVAddRecExpr *L, Instruction *I) in Prefetch() 342 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
|
| H A D | LoopIdiomRecognize.cpp | 507 const SCEVAddRecExpr *StoreEv = in isLegalStore() 566 const SCEVAddRecExpr *LoadEv = in isLegalStore() 672 const SCEVAddRecExpr *FirstStoreEv = in processLoopStores() 708 const SCEVAddRecExpr *SecondStoreEv = in processLoopStores() 779 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores() 846 const SCEVAddRecExpr *StoreEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Dest)); in processLoopMemCpy() 849 const SCEVAddRecExpr *LoadEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Source)); in processLoopMemCpy() 911 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet() 1172 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStoreOfLoopLoad() 1183 const SCEVAddRecExpr *LoadEv = cast<SCEVAddRecExpr>(SE->getSCEV(LoadPtr)); in processLoopStoreOfLoopLoad() [all …]
|
| H A D | LoopBoundSplit.cpp | 64 if (isa<SCEVAddRecExpr>(Cond.BoundSCEV) && in analyzeICmp() 65 !isa<SCEVAddRecExpr>(Cond.AddRecSCEV)) { in analyzeICmp() 127 const SCEVAddRecExpr *AddRecSCEV = dyn_cast<SCEVAddRecExpr>(Cond.AddRecSCEV); in hasProcessableCondition() 374 if (SE.isSCEVable(PN.getType()) && isa<SCEVAddRecExpr>(SE.getSCEV(&PN))) { in splitLoopBound()
|
| H A D | LoopLoadElimination.cpp | 119 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne() 120 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne() 430 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers() 507 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop() 510 isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Store->getPointerOperand())) && in processLoop() 572 return !isa<SCEVAddRecExpr>( in processLoop() 574 !isa<SCEVAddRecExpr>( in processLoop()
|
| H A D | LoopStrengthReduce.cpp | 423 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch() 491 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in isCanonical() 534 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in canonicalize() 714 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv() 796 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractImmediate() 822 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractSymbol() 1010 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isHighCostExpansion() 1268 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister() 2337 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(IV); in OptimizeMax() 2703 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in CollectInterestingTypesAndFactors() [all …]
|
| H A D | InductiveRangeCheckElimination.cpp | 217 const SCEVAddRecExpr *IndVar, 380 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond() 809 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in parseLoopStructure() 810 if (isa<SCEVAddRecExpr>(RightSCEV)) { in parseLoopStructure() 820 auto HasNoSignedWrap = [&](const SCEVAddRecExpr *AR) { in parseLoopStructure() 828 const SCEVAddRecExpr *ExtendAfterOp = in parseLoopStructure() 829 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure() 849 const SCEVAddRecExpr *IndVarBase = cast<SCEVAddRecExpr>(LeftSCEV); in parseLoopStructure() 1583 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar, in computeSafeIterationSpace() 1931 const SCEVAddRecExpr *IndVar = in run() [all …]
|
| H A D | IndVarSimplify.cpp | 868 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in isLoopCounter() 879 isa<SCEVAddRecExpr>(SE->getSCEV(IncV))); in isLoopCounter() 912 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in FindLoopCounter() 977 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit() 1107 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace() 1855 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(ExitCount); in run()
|
| H A D | AlignmentFromAssumptions.cpp | 158 if (const SCEVAddRecExpr *DiffARSCEV = dyn_cast<SCEVAddRecExpr>(DiffSCEV)) { in getNewAlignment()
|
| H A D | LoopPredication.cpp | 240 const SCEVAddRecExpr *IV; 242 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp() 393 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHSS); in parseLoopICmp() 489 NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>( in generateLoopLatchCheck()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.cpp | 343 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant() 400 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs() 689 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop() 931 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase() 1246 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally() 1410 const SCEVAddRecExpr *Normalized = S; in expandAddRecExprLiterally() 1423 Normalized = cast<SCEVAddRecExpr>( in expandAddRecExprLiterally() 1443 cast<SCEVAddRecExpr>(SE.getAddRecExpr( in expandAddRecExprLiterally() 1696 if (isa<SCEVAddRecExpr>(Ext)) in visitAddRecExpr() 2462 Cost += costAndCollectOperands<SCEVAddRecExpr>( in isHighCostExpansionHelper() [all …]
|
| H A D | SimplifyIndVar.cpp | 816 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S); in isSimpleIVUser() 1051 const SCEVAddRecExpr *WideAR); 1056 using WidenedRecTy = std::pair<const SCEVAddRecExpr *, ExtendKind>; 1157 const SCEVAddRecExpr *WideAR) { in cloneIVUser() 1347 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() 1348 dyn_cast<SCEVAddRecExpr>(getSCEVByOpCode(lhs, rhs, OpCode)); in getExtendedOperandRecurrence() 1377 if (isa<SCEVAddRecExpr>(WideExpr)) in getWideRecurrence() 1390 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() 1578 const SCEVAddRecExpr *AddRecOp1 = dyn_cast<SCEVAddRecExpr>(Op1); in widenWithVariantUse() 1832 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in createWideIV() [all …]
|
| H A D | LoopPeel.cpp | 219 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in countToEliminateCompares() 220 if (isa<SCEVAddRecExpr>(RightSCEV)) { in countToEliminateCompares() 227 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV); in countToEliminateCompares()
|
| /freebsd-13.1/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCLoopInstrFormPrep.cpp | 367 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV); in collectCandidates() 496 const SCEVAddRecExpr *BasePtrSCEV = in rewriteLoadStores() 497 cast<SCEVAddRecExpr>(BucketChain.BaseSCEV); in rewriteLoadStores() 759 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV); in alreadyPrepared() 846 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
|
| /freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.h | 297 Value *generateOverflowCheck(const SCEVAddRecExpr *AR, Instruction *Loc, 467 Value *visitAddRecExpr(const SCEVAddRecExpr *S); 485 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *); 486 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
|