| /freebsd-12.1/contrib/llvm/lib/Analysis/ |
| H A D | ScalarEvolutionNormalization.cpp | 43 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr); 48 NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) { in visitAddRecExpr() 100 auto Pred = [&](const SCEVAddRecExpr *AR) { in normalizeForPostIncUse() 114 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 | 257 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print() 678 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in CompareSCEVComplexity() 679 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in CompareSCEVComplexity() 1429 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend() 1647 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getZeroExtendExpr() 1991 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getSignExtendExpr() 9975 const SCEVAddRecExpr *RAR = dyn_cast<SCEVAddRecExpr>(RHS); in isImpliedViaMerge() 10496 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyLessThans() 10640 const SCEVAddRecExpr *IV = dyn_cast<SCEVAddRecExpr>(LHS); in howManyGreaterThans() 11582 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(S); in computeLoopDisposition() [all …]
|
| H A D | ScalarEvolutionExpander.cpp | 290 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant() 347 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs() 631 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop() 858 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase() 1166 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally() 1325 const SCEVAddRecExpr *Normalized = S; in expandAddRecExprLiterally() 1338 Normalized = cast<SCEVAddRecExpr>( in expandAddRecExprLiterally() 1358 cast<SCEVAddRecExpr>(SE.getAddRecExpr( in expandAddRecExprLiterally() 1593 if (isa<SCEVAddRecExpr>(Ext)) in visitAddRecExpr() 2247 const auto *A = cast<SCEVAddRecExpr>(Pred->getExpr()); in expandWrapPredicate() [all …]
|
| H A D | DependenceAnalysis.cpp | 877 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src); in checkSrcSubscript() 902 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst); in checkDstSubscript() 2151 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV() 2152 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV() 2228 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV() 2229 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV() 2990 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in findCoefficient() 3006 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in zeroCoefficient() 3026 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in addToCoefficient() 3288 const SCEVAddRecExpr *SrcAR = dyn_cast<SCEVAddRecExpr>(SrcSCEV); in tryDelinearize() [all …]
|
| H A D | ScalarEvolutionAliasAnalysis.cpp | 100 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
|
| H A D | IVDescriptors.cpp | 909 const SCEVAddRecExpr *AR, in getCastsForInductionPHI() 960 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI() 997 const auto *AR = dyn_cast<SCEVAddRecExpr>(PhiScev); in isInductionPHI() 1035 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PhiScev); in isInductionPHI()
|
| H A D | LoopAccessAnalysis.cpp | 204 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc); in insert() 629 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in hasComputableBounds() 670 if (!Assume || !isa<SCEVAddRecExpr>(Expr)) in createCheckForAccess() 944 static bool isNoWrapAddRec(Value *Ptr, const SCEVAddRecExpr *AR, in isNoWrapAddRec() 983 if (auto *OpAR = dyn_cast<SCEVAddRecExpr>(OpScev)) in isNoWrapAddRec() 1007 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in getPtrStride()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/ |
| H A D | LoopIdiomRecognize.cpp | 340 static APInt getStoreStride(const SCEVAddRecExpr *StoreEv) { in getStoreStride() 418 const SCEVAddRecExpr *StoreEv = in isLegalStore() 419 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore() 477 const SCEVAddRecExpr *LoadEv = in isLegalStore() 595 const SCEVAddRecExpr *FirstStoreEv = in processLoopStores() 596 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores() 631 const SCEVAddRecExpr *SecondStoreEv = in processLoopStores() 702 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores() 739 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet() 971 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStoreOfLoopLoad() [all …]
|
| H A D | LoopDataPrefetch.cpp | 76 bool isStrideLargeEnough(const SCEVAddRecExpr *AR); 141 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR) { in isStrideLargeEnough() 251 SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, 16> PrefLoads; in runOnLoop() 274 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
|
| H A D | IndVarSimplify.cpp | 1251 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() 1281 if (isa<SCEVAddRecExpr>(WideExpr)) in getWideRecurrence() 1294 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() 1407 const SCEVAddRecExpr *AddRecOp1 = dyn_cast<SCEVAddRecExpr>(Op1); in widenWithVariantLoadUse() 1677 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in createWideIV() 1690 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr); in createWideIV() 2175 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in isLoopCounter() 2286 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit() 2419 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace() 2452 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in linearFunctionTestReplace() [all …]
|
| H A D | LoopStrengthReduce.cpp | 399 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch() 467 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in isCanonical() 505 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in canonicalize() 682 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv() 749 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractImmediate() 775 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractSymbol() 947 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isHighCostExpansion() 1217 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister() 2274 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(IV); in OptimizeMax() 2639 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in CollectInterestingTypesAndFactors() [all …]
|
| H A D | LoopPredication.cpp | 231 const SCEVAddRecExpr *IV; 233 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp() 375 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHSS); in parseLoopICmp() 414 NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>( in generateLoopLatchCheck()
|
| H A D | InductiveRangeCheckElimination.cpp | 211 const SCEVAddRecExpr *IndVar, 357 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond() 812 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in parseLoopStructure() 813 if (isa<SCEVAddRecExpr>(RightSCEV)) { in parseLoopStructure() 823 auto HasNoSignedWrap = [&](const SCEVAddRecExpr *AR) { in parseLoopStructure() 831 const SCEVAddRecExpr *ExtendAfterOp = in parseLoopStructure() 832 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure() 852 const SCEVAddRecExpr *IndVarBase = cast<SCEVAddRecExpr>(LeftSCEV); in parseLoopStructure() 1557 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar, in computeSafeIterationSpace() 1813 const SCEVAddRecExpr *IndVar = in run() [all …]
|
| H A D | LoopLoadElimination.cpp | 115 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne() 116 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne() 427 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
|
| H A D | LoopRerollPass.cpp | 583 if (const SCEVAddRecExpr *PHISCEV = in collectPossibleIVs() 584 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) { in collectPossibleIVs() 892 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in validateRootSet() 907 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU)); in findRootsBase() 1419 const SCEVAddRecExpr *IVSCEV = in replace() 1420 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace()
|
| H A D | AlignmentFromAssumptions.cpp | 151 } else if (const SCEVAddRecExpr *DiffARSCEV = in getNewAlignment() 152 dyn_cast<SCEVAddRecExpr>(DiffSCEV)) { in getNewAlignment()
|
| H A D | LoopInterchange.cpp | 308 const SCEVAddRecExpr *AddRec = in getInductionVariable() 309 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(PhiVar)); in getInductionVariable() 1043 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(OperandVal); in getInstrOrderCost()
|
| /freebsd-12.1/contrib/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolutionExpressions.h | 290 class SCEVAddRecExpr : public SCEVNAryExpr { 295 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function 353 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const; 464 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit() 652 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 741 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 752 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res); in visitAddRecExpr()
|
| H A D | ScalarEvolution.h | 67 class SCEVAddRecExpr; variable 349 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE); 352 const SCEVAddRecExpr *AR; 357 const SCEVAddRecExpr *AR, 892 const SCEVAddRecExpr *LHS, const SCEV *RHS); 1060 getWrapPredicate(const SCEVAddRecExpr *AR, 1068 const SCEVAddRecExpr *convertSCEVToAddRecWithPredicates( 1756 bool isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS, 1953 const SCEVAddRecExpr *getAsAddRec(Value *V); 1974 bool areAddRecsEqualWithPreds(const SCEVAddRecExpr *AR1, [all …]
|
| H A D | ScalarEvolutionExpander.h | 224 Value *generateOverflowCheck(const SCEVAddRecExpr *AR, Instruction *Loc, 365 Value *visitAddRecExpr(const SCEVAddRecExpr *S); 381 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *); 382 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
|
| H A D | ScalarEvolutionNormalization.h | 51 typedef function_ref<bool(const SCEVAddRecExpr *)> NormalizePredTy;
|
| H A D | TargetTransformInfoImpl.h | 645 return Ptr && isa<SCEVAddRecExpr>(Ptr); in isStridedAccess() 652 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); in getConstantStrideStep()
|
| /freebsd-12.1/contrib/llvm/lib/Target/PowerPC/ |
| H A D | PPCLoopPreIncPrep.cpp | 216 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV); in alreadyPrepared() 294 if (const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV)) { in runOnLoop() 392 const SCEVAddRecExpr *BasePtrSCEV = in runOnLoop() 393 cast<SCEVAddRecExpr>(Buckets[i].BaseSCEV); in runOnLoop()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Utils/ |
| H A D | LoopUnrollPeel.cpp | 183 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in countToEliminateCompares() 184 if (isa<SCEVAddRecExpr>(RightSCEV)) { in countToEliminateCompares() 191 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV); in countToEliminateCompares()
|