Home
last modified time | relevance | path

Searched refs:ScalarEvolution (Results 1 – 25 of 144) sorted by relevance

123456

/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DDelinearization.h26 class ScalarEvolution; variable
32 void findArrayDimensions(ScalarEvolution &SE,
39 void collectParametricTerms(ScalarEvolution &SE, const SCEV *Expr,
44 void computeAccessFunctions(ScalarEvolution &SE, const SCEV *Expr,
111 void delinearize(ScalarEvolution &SE, const SCEV *Expr,
124 bool getIndexExpressionsFromGEP(ScalarEvolution &SE,
135 bool tryDelinearizeFixedSizeImpl(ScalarEvolution *SE, Instruction *Inst,
H A DScalarEvolutionExpressions.h62 friend class ScalarEvolution; variable
82 friend class ScalarEvolution; variable
132 friend class ScalarEvolution; variable
158 friend class ScalarEvolution; variable
170 friend class ScalarEvolution; variable
184 friend class ScalarEvolution; variable
268 friend class ScalarEvolution; variable
292 friend class ScalarEvolution; variable
306 friend class ScalarEvolution; variable
349 friend class ScalarEvolution; variable
[all …]
H A DLoopNestAnalysis.h34 LoopNest(Loop &Root, ScalarEvolution &SE);
39 static std::unique_ptr<LoopNest> getLoopNest(Loop &Root, ScalarEvolution &SE);
53 ScalarEvolution &SE);
59 ScalarEvolution &SE);
70 static unsigned getMaxPerfectDepth(const Loop &Root, ScalarEvolution &SE);
145 SmallVector<LoopVectorTy, 4> getPerfectLoops(ScalarEvolution &SE) const;
196 ScalarEvolution &SE);
H A DScalarEvolutionNormalization.h45 class ScalarEvolution; variable
58 ScalarEvolution &SE,
65 ScalarEvolution &SE);
71 ScalarEvolution &SE);
H A DScalarEvolution.h59 class ScalarEvolution; variable
245 virtual bool implies(const SCEVPredicate *N, ScalarEvolution &SE) const = 0;
290 bool implies(const SCEVPredicate *N, ScalarEvolution &SE) const override;
381 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
397 bool implies(const SCEVPredicate *N, ScalarEvolution &SE) const override;
422 void add(const SCEVPredicate *N, ScalarEvolution &SE);
426 ScalarEvolution &SE);
432 bool implies(const SCEVPredicate *N, ScalarEvolution &SE) const override;
448 class ScalarEvolution {
485 LLVM_ABI ScalarEvolution(Function &F, TargetLibraryInfo &TLI,
[all …]
H A DLoopInfo.h32 class ScalarEvolution; variable
81 ScalarEvolution *SE = nullptr) const;
96 ScalarEvolution *SE = nullptr) const;
162 getBounds(const Loop &L, PHINode &IndVar, ScalarEvolution &SE);
223 ScalarEvolution &SE) in LoopBounds()
242 ScalarEvolution &SE;
247 std::optional<LoopBounds> getBounds(ScalarEvolution &SE) const;
256 PHINode *getInductionVariable(ScalarEvolution &SE) const;
260 bool getInductionDescriptor(ScalarEvolution &SE,
271 ScalarEvolution &SE) const;
[all …]
H A DScalarEvolutionDivision.h22 class ScalarEvolution; variable
30 static void divide(ScalarEvolution &SE, const SCEV *Numerator,
60 SCEVDivision(ScalarEvolution &S, const SCEV *Numerator,
67 ScalarEvolution &SE;
H A DLoopAccessAnalysis.h361 std::optional<ScalarEvolution::LoopGuards> LoopGuards;
450 unsigned AS, bool NeedsFreeze, ScalarEvolution &SE);
519 RuntimePointerChecking(MemoryDepChecker &DC, ScalarEvolution *SE) in RuntimePointerChecking()
610 ScalarEvolution *getSE() const { return SE; } in getSE()
632 ScalarEvolution *SE;
670 LLVM_ABI LoopAccessInfo(Loop *L, ScalarEvolution *SE,
883 const DataLayout &DL, ScalarEvolution &SE,
897 const DataLayout &DL, ScalarEvolution &SE,
903 ScalarEvolution &SE, bool CheckType = true);
923 const SCEV *MaxBTC, ScalarEvolution *SE,
[all …]
H A DLoopCacheAnalysis.h31 class ScalarEvolution; variable
55 ScalarEvolution &SE);
156 ScalarEvolution &SE;
200 CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, ScalarEvolution &SE,
275 ScalarEvolution &SE;
H A DScalarEvolutionAliasAnalysis.h23 class ScalarEvolution; variable
29 ScalarEvolution &SE;
32 explicit SCEVAAResult(ScalarEvolution &SE) : SE(SE) {} in SCEVAAResult()
H A DIVDescriptors.h29 class ScalarEvolution; variable
145 InstDesc &Prev, FastMathFlags FuncFMF, ScalarEvolution *SE);
182 ScalarEvolution &SE);
199 DominatorTree *DT = nullptr, ScalarEvolution *SE = nullptr);
209 DominatorTree *DT = nullptr, ScalarEvolution *SE = nullptr);
408 isInductionPHI(PHINode *Phi, const Loop *L, ScalarEvolution *SE,
416 ScalarEvolution *SE,
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h41 class ScalarEvolution; variable
90 ScalarEvolution *SE,
107 ScalarEvolution *SE);
119 const LoopInfo *LI, ScalarEvolution *SE);
186 ScalarEvolution *, ICFLoopSafetyInfo *,
206 LLVM_ABI void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
212 LLVM_ABI void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
345 LLVM_ABI bool hasIterationCountInvariantInParent(Loop *L, ScalarEvolution &SE);
463 ScalarEvolution &SE);
468 ScalarEvolution &SE);
[all …]
H A DUnrollLoop.h37 class ScalarEvolution; variable
85 LoopInfo *LI, ScalarEvolution *SE,
96 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC,
103 bool UnrollRemainder, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
107 LLVM_ABI bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE,
112 ScalarEvolution *SE, DominatorTree *DT,
120 Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI,
159 AssumptionCache *AC, ScalarEvolution &SE,
H A DLoopPeel.h27 bool canPeelLastIteration(const Loop &L, ScalarEvolution &SE);
34 ScalarEvolution *SE, DominatorTree &DT, AssumptionCache *AC,
38 gatherPeelingPreferences(Loop *L, ScalarEvolution &SE,
47 ScalarEvolution &SE, const TargetTransformInfo &TTI,
H A DSimplifyIndVar.h30 class ScalarEvolution; variable
55 std::pair<bool, bool> simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE,
64 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
84 LoopInfo *LI, ScalarEvolution *SE, SCEVExpander &Rewriter,
H A DLowerMemIntrinsics.h30 class ScalarEvolution; variable
54 ScalarEvolution *SE = nullptr);
70 ScalarEvolution *SE);
H A DLoopVersioning.h26 class ScalarEvolution; variable
49 DominatorTree *DT, ScalarEvolution *SE);
149 ScalarEvolution *SE;
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp471 const SCEV *ScalarEvolution::getConstant(ConstantInt *V) { in getConstant()
482 const SCEV *ScalarEvolution::getConstant(const APInt &Val) { in getConstant()
487 ScalarEvolution::getConstant(Type *Ty, uint64_t V, bool isSigned) { in getConstant()
492 const SCEV *ScalarEvolution::getVScale(Type *Ty) { in getVScale()
504 const SCEV *ScalarEvolution::getElementCount(Type *Ty, ElementCount EC) { in getElementCount()
829 constantFoldAndGroupOps(ScalarEvolution &SE, LoopInfo &LI, DominatorTree &DT, in constantFoldAndGroupOps()
868 ScalarEvolution &SE, in BinomialCoefficient()
981 ScalarEvolution &SE) const { in evaluateAtIteration()
987 const SCEV *It, ScalarEvolution &SE) { in evaluateAtIteration()
1007 const SCEV *ScalarEvolution::getLosslessPtrToIntExpr(const SCEV *Op, in getLosslessPtrToIntExpr()
[all …]
H A DDelinearization.cpp48 ScalarEvolution &SE;
51 SCEVCollectStrides(ScalarEvolution &SE, SmallVectorImpl<const SCEV *> &S) in SCEVCollectStrides()
123 ScalarEvolution &SE;
126 ScalarEvolution &SE) in SCEVCollectAddRecMultiplies()
170 void llvm::collectParametricTerms(ScalarEvolution &SE, const SCEV *Expr, in collectParametricTerms()
197 static bool findArrayDimensionsRec(ScalarEvolution &SE, in findArrayDimensionsRec()
257 static const SCEV *removeConstantFactors(ScalarEvolution &SE, const SCEV *T) { in removeConstantFactors()
276 void llvm::findArrayDimensions(ScalarEvolution &SE, in findArrayDimensions()
340 void llvm::computeAccessFunctions(ScalarEvolution &SE, const SCEV *Expr, in computeAccessFunctions()
447 void llvm::delinearize(ScalarEvolution &SE, const SCEV *Expr, in delinearize()
[all …]
H A DLoopNestAnalysis.cpp36 ScalarEvolution &SE);
42 LoopNest::LoopNest(Loop &Root, ScalarEvolution &SE) in LoopNest()
48 ScalarEvolution &SE) { in getLoopNest()
104 ScalarEvolution &SE) { in arePerfectlyNested()
110 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) { in analyzeLoopNestForPerfectNest()
182 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) { in getInterveningInstructions()
241 LoopNest::getPerfectLoops(ScalarEvolution &SE) const { in getPerfectLoops()
261 unsigned LoopNest::getMaxPerfectDepth(const Loop &Root, ScalarEvolution &SE) { in getMaxPerfectDepth()
316 ScalarEvolution &SE) { in checkLoopsStructure()
H A DScalarEvolutionNormalization.cpp40 ScalarEvolution &SE) in NormalizeDenormalizeRewriter()
99 ScalarEvolution &SE, in normalizeForPostIncUse()
116 ScalarEvolution &SE) { in normalizeForPostIncUseIf()
122 ScalarEvolution &SE) { in denormalizeForPostIncUse()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DInductiveRangeCheckElimination.cpp144 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
149 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
154 ICmpInst::Predicate Pred, ScalarEvolution &SE,
159 ICmpInst::Predicate Pred, ScalarEvolution &SE,
202 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const { in isEmpty()
219 std::optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
229 BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo *BPI,
235 ScalarEvolution &SE;
250 InductiveRangeCheckElimination(ScalarEvolution &SE, in InductiveRangeCheckElimination()
265 ScalarEvolution &SE, in parseRangeCheckICmp()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DPass.h18 class ScalarEvolution; variable
28 ScalarEvolution *SE = nullptr;
34 Analyses(AAResults &AA, ScalarEvolution &SE, TargetTransformInfo &TTI) in Analyses()
39 ScalarEvolution &getScalarEvolution() const { return *SE; } in getScalarEvolution()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DAlignmentFromAssumptions.h27 class ScalarEvolution; variable
36 bool runImpl(Function &F, AssumptionCache &AC, ScalarEvolution *SE_,
39 ScalarEvolution *SE = nullptr;
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonTargetTransformInfo.h29 class ScalarEvolution; variable
65 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
69 void getPeelingPreferences(Loop *L, ScalarEvolution &SE,
74 getPreferredAddressingMode(const Loop *L, ScalarEvolution *SE) const override;
114 InstructionCost getAddressComputationCost(Type *Tp, ScalarEvolution *SE,

123456