Home
last modified time | relevance | path

Searched refs:ScalarEvolution (Results 1 – 25 of 131) 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.h19 #include "llvm/Analysis/ScalarEvolution.h"
61 friend class ScalarEvolution;
81 friend class ScalarEvolution;
131 friend class ScalarEvolution;
157 friend class ScalarEvolution;
169 friend class ScalarEvolution;
183 friend class ScalarEvolution;
198 // Since SCEVs are immutable, ScalarEvolution allocates operand
267 friend class ScalarEvolution;
291 friend class ScalarEvolution;
62 friend class ScalarEvolution; global() variable
82 friend class ScalarEvolution; global() variable
132 friend class ScalarEvolution; global() variable
158 friend class ScalarEvolution; global() variable
170 friend class ScalarEvolution; global() variable
184 friend class ScalarEvolution; global() variable
268 friend class ScalarEvolution; global() variable
292 friend class ScalarEvolution; global() variable
306 friend class ScalarEvolution; global() variable
349 friend class ScalarEvolution; global() variable
426 friend class ScalarEvolution; global() variable
466 friend class ScalarEvolution; global() variable
478 friend class ScalarEvolution; global() variable
490 friend class ScalarEvolution; global() variable
502 friend class ScalarEvolution; global() variable
518 friend class ScalarEvolution; global() variable
561 friend class ScalarEvolution; global() variable
578 friend class ScalarEvolution; global() variable
[all...]
H A DLoopNestAnalysis.h33 LoopNest(Loop &Root, ScalarEvolution &SE);
38 static std::unique_ptr<LoopNest> getLoopNest(Loop &Root, ScalarEvolution &SE);
52 ScalarEvolution &SE);
58 ScalarEvolution &SE);
69 static unsigned getMaxPerfectDepth(const Loop &Root, ScalarEvolution &SE);
144 SmallVector<LoopVectorTy, 4> getPerfectLoops(ScalarEvolution &SE) const;
195 ScalarEvolution &SE);
H A DScalarEvolutionNormalization.h44 class ScalarEvolution; variable
56 ScalarEvolution &SE,
62 ScalarEvolution &SE);
67 ScalarEvolution &SE);
H A DLoopInfo.h36 class ScalarEvolution; variable
85 ScalarEvolution *SE = nullptr) const;
100 ScalarEvolution *SE = nullptr) const;
166 getBounds(const Loop &L, PHINode &IndVar, ScalarEvolution &SE);
227 ScalarEvolution &SE) in LoopBounds()
246 ScalarEvolution &SE;
251 std::optional<LoopBounds> getBounds(ScalarEvolution &SE) const;
260 PHINode *getInductionVariable(ScalarEvolution &SE) const;
264 bool getInductionDescriptor(ScalarEvolution &SE,
275 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 DScalarEvolution.h61 class ScalarEvolution; variable
384 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
452 class ScalarEvolution {
489 ScalarEvolution(Function &F, TargetLibraryInfo &TLI, AssumptionCache &AC,
491 ScalarEvolution(ScalarEvolution &&Arg);
492 ~ScalarEvolution();
1306 ScalarEvolution &SE;
1308 LoopGuards(ScalarEvolution &SE) : SE(SE) {}
1313 static LoopGuards collect(const Loop *L, ScalarEvolution &SE);
1376 ScalarEvolution *SE;
[all …]
H A DLoopAccessAnalysis.h411 unsigned AS, bool NeedsFreeze, ScalarEvolution &SE);
480 RuntimePointerChecking(MemoryDepChecker &DC, ScalarEvolution *SE) in RuntimePointerChecking()
567 ScalarEvolution *getSE() const { return SE; } in getSE()
589 ScalarEvolution *SE;
626 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const TargetTransformInfo *TTI,
821 ScalarEvolution &SE,
836 ScalarEvolution &SE,
842 ScalarEvolution &SE, bool CheckType = true);
849 ScalarEvolution &SE;
857 LoopAccessInfoManager(ScalarEvolution &SE, AAResults &AA, DominatorTree &DT, in LoopAccessInfoManager()
H A DLoopCacheAnalysis.h30 class ScalarEvolution; variable
54 ScalarEvolution &SE);
155 ScalarEvolution &SE;
201 CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, ScalarEvolution &SE,
276 ScalarEvolution &SE;
H A DScalarEvolutionAliasAnalysis.h22 class ScalarEvolution; variable
28 ScalarEvolution &SE;
31 explicit SCEVAAResult(ScalarEvolution &SE) : SE(SE) {} in SCEVAAResult()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h41 class ScalarEvolution; variable
86 const LoopInfo &LI, ScalarEvolution *SE,
103 ScalarEvolution *SE);
115 ScalarEvolution *SE);
179 MemorySSAUpdater &, ScalarEvolution *, ICFLoopSafetyInfo *,
199 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
205 void breakLoopBackedge(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
338 bool hasIterationCountInvariantInParent(Loop *L, ScalarEvolution &SE);
445 bool isKnownNegativeInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE);
450 ScalarEvolution &SE);
[all …]
H A DUnrollLoop.h36 class ScalarEvolution; variable
81 ScalarEvolution *SE, DominatorTree *DT,
91 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC,
97 LoopInfo *LI, ScalarEvolution *SE,
103 bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT,
107 ScalarEvolution *SE, DominatorTree *DT,
115 Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI,
154 ScalarEvolution &SE,
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 DLoopPeel.h26 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
31 gatherPeelingPreferences(Loop *L, ScalarEvolution &SE,
40 ScalarEvolution &SE, AssumptionCache *AC = nullptr,
H A DLowerMemIntrinsics.h28 class ScalarEvolution; variable
51 ScalarEvolution *SE = nullptr);
63 ScalarEvolution *SE);
H A DLoopVersioning.h26 class ScalarEvolution; variable
49 DominatorTree *DT, ScalarEvolution *SE);
144 ScalarEvolution *SE;
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp479 const SCEV *ScalarEvolution::getConstant(ConstantInt *V) { in getConstant()
490 const SCEV *ScalarEvolution::getConstant(const APInt &Val) { in getConstant()
495 ScalarEvolution::getConstant(Type *Ty, uint64_t V, bool isSigned) { in getConstant()
500 const SCEV *ScalarEvolution::getVScale(Type *Ty) { in getVScale()
512 const SCEV *ScalarEvolution::getElementCount(Type *Ty, ElementCount EC) { in getElementCount()
862 ScalarEvolution &SE, in BinomialCoefficient()
975 ScalarEvolution &SE) const { in evaluateAtIteration()
981 const SCEV *It, ScalarEvolution &SE) { in evaluateAtIteration()
1001 const SCEV *ScalarEvolution::getLosslessPtrToIntExpr(const SCEV *Op, in getLosslessPtrToIntExpr()
1074 SCEVPtrToIntSinkingRewriter(ScalarEvolution &SE) : SCEVRewriteVisitor(SE) {} in getLosslessPtrToIntExpr()
[all …]
H A DDelinearization.cpp49 ScalarEvolution &SE;
52 SCEVCollectStrides(ScalarEvolution &SE, SmallVectorImpl<const SCEV *> &S) in SCEVCollectStrides()
124 ScalarEvolution &SE;
127 ScalarEvolution &SE) in SCEVCollectAddRecMultiplies()
171 void llvm::collectParametricTerms(ScalarEvolution &SE, const SCEV *Expr, in collectParametricTerms()
198 static bool findArrayDimensionsRec(ScalarEvolution &SE, in findArrayDimensionsRec()
258 static const SCEV *removeConstantFactors(ScalarEvolution &SE, const SCEV *T) { in removeConstantFactors()
277 void llvm::findArrayDimensions(ScalarEvolution &SE, in findArrayDimensions()
341 void llvm::computeAccessFunctions(ScalarEvolution &SE, const SCEV *Expr, in computeAccessFunctions()
448 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/include/llvm/Transforms/Scalar/
H A DAlignmentFromAssumptions.h27 class ScalarEvolution; variable
36 bool runImpl(Function &F, AssumptionCache &AC, ScalarEvolution *SE_,
39 ScalarEvolution *SE = nullptr;
H A DNaryReassociate.h95 class ScalarEvolution; variable
108 ScalarEvolution *SE_, TargetLibraryInfo *TLI_,
183 ScalarEvolution *SE;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanTransforms.h24 class ScalarEvolution; variable
36 ScalarEvolution &SE, const TargetLibraryInfo &TLI);
60 static void optimize(VPlan &Plan, ScalarEvolution &SE);
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonTargetTransformInfo.h29 class ScalarEvolution; variable
64 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
68 void getPeelingPreferences(Loop *L, ScalarEvolution &SE,
73 getPreferredAddressingMode(const Loop *L, ScalarEvolution *SE) const;
111 InstructionCost getAddressComputationCost(Type *Tp, ScalarEvolution *SE,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DInductiveRangeCheckElimination.cpp57 #include "llvm/Analysis/ScalarEvolution.h"
152 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
157 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
162 ICmpInst::Predicate Pred, ScalarEvolution &SE,
167 ICmpInst::Predicate Pred, ScalarEvolution &SE,
210 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const { in getType()
227 std::optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
237 BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo *BPI,
242 ScalarEvolution &SE;
256 InductiveRangeCheckElimination(ScalarEvolution
[all...]

123456