Home
last modified time | relevance | path

Searched refs:SCEVAddRecExpr (Results 1 – 25 of 32) sorted by relevance

12

/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DScalarEvolutionNormalization.cpp43 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 DIVUsers.cpp63 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 DScalarEvolution.cpp257 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 DScalarEvolutionExpander.cpp290 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 DDependenceAnalysis.cpp877 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 DScalarEvolutionAliasAnalysis.cpp100 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
H A DIVDescriptors.cpp909 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 DLoopAccessAnalysis.cpp204 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 DLoopIdiomRecognize.cpp340 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 DLoopDataPrefetch.cpp76 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 DIndVarSimplify.cpp1251 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 DLoopStrengthReduce.cpp399 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 DLoopPredication.cpp231 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 DInductiveRangeCheckElimination.cpp211 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 DLoopLoadElimination.cpp115 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 DLoopRerollPass.cpp583 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 DAlignmentFromAssumptions.cpp151 } else if (const SCEVAddRecExpr *DiffARSCEV = in getNewAlignment()
152 dyn_cast<SCEVAddRecExpr>(DiffSCEV)) { in getNewAlignment()
H A DLoopInterchange.cpp308 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 DScalarEvolutionExpressions.h290 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 DScalarEvolution.h67 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 DScalarEvolutionExpander.h224 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 DScalarEvolutionNormalization.h51 typedef function_ref<bool(const SCEVAddRecExpr *)> NormalizePredTy;
H A DTargetTransformInfoImpl.h645 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 DPPCLoopPreIncPrep.cpp216 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 DLoopUnrollPeel.cpp183 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in countToEliminateCompares()
184 if (isa<SCEVAddRecExpr>(RightSCEV)) { in countToEliminateCompares()
191 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV); in countToEliminateCompares()

12