HomeSort by relevance Sort by last modified time
    Searched refs:ScalarEvolution (Results 1 - 25 of 52) sorted by null

1 2 3

  /external/llvm/include/llvm/Analysis/
ScalarEvolutionNormalization.h 10 // This file defines utilities for working with "normalized" ScalarEvolution
46 class ScalarEvolution;
73 ScalarEvolution &SE,
ScalarEvolutionAliasAnalysis.h 25 /// A simple alias analysis implementation that uses ScalarEvolution to answer
28 ScalarEvolution &SE;
31 explicit SCEVAAResult(const TargetLibraryInfo &TLI, ScalarEvolution &SE)
VectorUtils.h 28 class ScalarEvolution;
72 Value *stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
79 Value *getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
ScalarEvolutionExpressions.h 19 #include "llvm/Analysis/ScalarEvolution.h"
39 friend class ScalarEvolution;
84 friend class ScalarEvolution;
101 friend class ScalarEvolution;
118 friend class ScalarEvolution;
137 // Since SCEVs are immutable, ScalarEvolution allocates operand
209 friend class ScalarEvolution;
234 friend class ScalarEvolution;
253 friend class ScalarEvolution;
266 // crazy cases one or the other may be a pointer. ScalarEvolution doesn'
    [all...]
ScalarEvolution.h 1 //===- llvm/Analysis/ScalarEvolution.h - Scalar Evolution -------*- C++ -*-===//
10 // The ScalarEvolution class is an LLVM pass which can be used to analyze and
44 class ScalarEvolution;
68 /// ScalarEvolution's BumpPtrAllocator holds the data.
178 /// ScalarEvolution's BumpPtrAllocator holds the data.
318 class ScalarEvolution {
335 /// visible in the ScalarEvolution name space.
350 /// A CallbackVH to arrange for ScalarEvolution to be notified whenever a
353 ScalarEvolution *SE;
357 SCEVCallbackVH(Value *V, ScalarEvolution *SE = nullptr)
    [all...]
IVUsers.h 28 class ScalarEvolution;
126 ScalarEvolution *SE;
LoopAccessAnalysis.h 32 class ScalarEvolution;
98 /// We use the ScalarEvolution framework to symbolically evalutate access
268 /// A wrapper around ScalarEvolution, used to add runtime SCEV checks, and
356 RuntimePointerChecking(ScalarEvolution *SE) : Need(false), SE(SE) {}
480 /// Holds a pointer to the ScalarEvolution analysis.
481 ScalarEvolution *SE;
504 /// ScalarEvolution, we will generate run-time checks by emitting a
511 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const DataLayout &DL,
702 ScalarEvolution *SE;
ScalarEvolutionExpander.h 29 bool isSafeToExpand(const SCEV *S, ScalarEvolution &SE);
38 ScalarEvolution &SE;
94 explicit SCEVExpander(ScalarEvolution &se, const DataLayout &DL,
DependenceAnalysis.h 52 class ScalarEvolution;
341 ScalarEvolution *SE;
390 ScalarEvolution *SE;
455 void setAny(ScalarEvolution *SE);
    [all...]
  /external/llvm/include/llvm/Transforms/Utils/
UnrollLoop.h 30 class ScalarEvolution;
34 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
39 ScalarEvolution *SE, DominatorTree *DT,
LoopVersioning.h 20 #include "llvm/Analysis/ScalarEvolution.h"
29 class ScalarEvolution;
43 DominatorTree *DT, ScalarEvolution *SE,
110 ScalarEvolution *SE;
SimplifyIndVar.h 12 // simplify a loop's induction variables based on ScalarEvolution.
30 class ScalarEvolution;
59 /// by using ScalarEvolution to analyze the IV's recurrence.
60 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
66 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
LoopUtils.h 33 class ScalarEvolution;
54 /// special case of chains of recurrences (CR). See ScalarEvolution for CR
281 static bool isInductionPHI(PHINode *Phi, ScalarEvolution *SE,
303 /// update \c AliasAnalysis and \c ScalarEvolution analyses if they're non-null.
304 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,
315 /// If ScalarEvolution is passed in, it will be preserved.
319 ScalarEvolution *SE);
327 /// If ScalarEvolution is passed in, it will be preserved.
331 ScalarEvolution *SE);
  /external/llvm/lib/Analysis/
ScalarEvolution.cpp 1 //===- ScalarEvolution.cpp - Scalar Evolution Analysis --------------------===//
61 #include "llvm/Analysis/ScalarEvolution.h"
117 cl::desc("Verify ScalarEvolution's backedge taken counts (slow)"));
307 const SCEV *ScalarEvolution::getConstant(ConstantInt *V) {
318 const SCEV *ScalarEvolution::getConstant(const APInt &Val) {
323 ScalarEvolution::getConstant(Type *Ty, uint64_t V, bool isSigned) {
697 static void divide(ScalarEvolution &SE, const SCEV *Numerator,
896 SCEVDivision(ScalarEvolution &S, const SCEV *Numerator,
915 ScalarEvolution &SE;
928 ScalarEvolution &SE
    [all...]
ScalarEvolutionNormalization.cpp 70 ScalarEvolution &SE;
77 ScalarEvolution &se, DominatorTree &dt):
141 // This assert is conceptually correct, but ScalarEvolution currently
250 ScalarEvolution &SE,
Delinearization.cpp 20 #include "llvm/Analysis/ScalarEvolution.h"
45 ScalarEvolution *SE;
Android.mk 63 ScalarEvolution.cpp \
LoopAccessAnalysis.cpp 110 ScalarEvolution *SE = PSE.getSE();
135 ScalarEvolution *SE = PSE.getSE();
193 ScalarEvolution *SE) {
453 bool canCheckPtrAtRT(RuntimePointerChecking &RtCheck, ScalarEvolution *SE,
535 ScalarEvolution *SE, Loop *TheLoop,
776 ScalarEvolution *SE, const Loop *L) {
    [all...]
  /external/llvm/lib/Transforms/Utils/
SimplifyIndVar.cpp 12 // simplify a loop's induction variables based on ScalarEvolution.
43 /// based on ScalarEvolution. It is the primary instrument of the
49 ScalarEvolution *SE;
57 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT,
357 const SCEV *(ScalarEvolution::*GetExprForBO)(const SCEV *, const SCEV *,
365 GetExprForBO = &ScalarEvolution::getAddExpr;
369 GetExprForBO = &ScalarEvolution::getMinusSCEV;
373 GetExprForBO = &ScalarEvolution::getMulExpr;
498 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) {
596 /// by using ScalarEvolution to analyze the IV's recurrence
    [all...]
LCSSA.cpp 36 #include "llvm/Analysis/ScalarEvolution.h"
220 ScalarEvolution *SE) {
266 ScalarEvolution *SE) {
287 ScalarEvolution *SE;
LoopVersioning.cpp 27 DominatorTree *DT, ScalarEvolution *SE,
  /external/llvm/lib/Transforms/Scalar/
InductiveRangeCheckElimination.cpp 49 #include "llvm/Analysis/ScalarEvolution.h"
126 ScalarEvolution &SE, Value *&Index,
130 parseRangeCheck(Loop *L, ScalarEvolution &SE, Value *Condition,
192 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
199 Loop *L, ScalarEvolution &SE,
267 ScalarEvolution &SE, Value *&Index,
275 return SE.getLoopDisposition(S, L) == ScalarEvolution::LoopInvariant &&
333 InductiveRangeCheck::parseRangeCheck(Loop *L, ScalarEvolution &SE,
392 Loop *L, ScalarEvolution &SE,
476 static Optional<LoopStructure> parseLoopStructure(ScalarEvolution &
    [all...]
AlignmentFromAssumptions.cpp 11 // This file implements a ScalarEvolution-based transformation to set
28 #include "llvm/Analysis/ScalarEvolution.h"
76 ScalarEvolution *SE;
107 ScalarEvolution *SE) {
142 ScalarEvolution *SE) {
LoopInterchange.cpp 26 #include "llvm/Analysis/ScalarEvolution.h"
302 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) {
333 LoopInterchangeLegality(Loop *Outer, Loop *Inner, ScalarEvolution *SE,
360 ScalarEvolution *SE;
372 LoopInterchangeProfitability(Loop *Outer, Loop *Inner, ScalarEvolution *SE)
386 ScalarEvolution *SE;
392 LoopInterchangeTransform(Loop *Outer, Loop *Inner, ScalarEvolution *SE,
421 ScalarEvolution *SE;
431 ScalarEvolution *SE;
    [all...]
  /external/llvm/unittests/Analysis/
ScalarEvolutionTest.cpp 1 //===- ScalarEvolutionsTest.cpp - ScalarEvolution unit tests --------------===//
27 // We use this fixture to ensure that we clean up ScalarEvolution before
42 ScalarEvolution buildSE(Function &F) {
46 return ScalarEvolution(F, TLI, *AC, *DT, *LI);
63 ScalarEvolution SE = buildSE(*F);
108 ScalarEvolution SE = buildSE(*F);

Completed in 324 milliseconds

1 2 3