Home
last modified time | relevance | path

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

1234

/external/llvm/include/llvm/Analysis/
DScalarEvolutionExpressions.h39 friend class ScalarEvolution; variable
84 friend class ScalarEvolution; variable
101 friend class ScalarEvolution; variable
118 friend class ScalarEvolution; variable
209 friend class ScalarEvolution; variable
234 friend class ScalarEvolution; variable
253 friend class ScalarEvolution; variable
290 friend class ScalarEvolution; variable
306 const SCEV *getStepRecurrence(ScalarEvolution &SE) const { in getStepRecurrence()
333 Flags = ScalarEvolution::setFlags(Flags, FlagNW); in setNoWrapFlags()
[all …]
DScalarEvolution.h44 class ScalarEvolution; variable
318 class ScalarEvolution {
353 ScalarEvolution *SE;
357 SCEVCallbackVH(Value *V, ScalarEvolution *SE = nullptr);
480 const SCEV *getExact(ScalarEvolution *SE) const;
486 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const;
489 const SCEV *getMax(ScalarEvolution *SE) const;
493 bool hasOperand(const SCEV *S, ScalarEvolution *SE) const;
799 ScalarEvolution(Function &F, TargetLibraryInfo &TLI, AssumptionCache &AC,
801 ~ScalarEvolution();
[all …]
DVectorUtils.h28 class ScalarEvolution; variable
72 Value *stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
79 Value *getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
DScalarEvolutionNormalization.h46 class ScalarEvolution; variable
73 ScalarEvolution &SE,
DScalarEvolutionAliasAnalysis.h28 ScalarEvolution &SE;
31 explicit SCEVAAResult(const TargetLibraryInfo &TLI, ScalarEvolution &SE) in SCEVAAResult()
DLoopAccessAnalysis.h32 class ScalarEvolution; variable
356 RuntimePointerChecking(ScalarEvolution *SE) : Need(false), SE(SE) {} in RuntimePointerChecking()
481 ScalarEvolution *SE;
511 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const DataLayout &DL,
702 ScalarEvolution *SE;
DScalarEvolutionExpander.h29 bool isSafeToExpand(const SCEV *S, ScalarEvolution &SE);
38 ScalarEvolution &SE;
94 explicit SCEVExpander(ScalarEvolution &se, const DataLayout &DL,
DIVUsers.h28 class ScalarEvolution; variable
126 ScalarEvolution *SE;
DDependenceAnalysis.h52 class ScalarEvolution; variable
341 ScalarEvolution *SE;
390 ScalarEvolution *SE;
455 void setAny(ScalarEvolution *SE);
/external/llvm/lib/Analysis/
DScalarEvolution.cpp307 const SCEV *ScalarEvolution::getConstant(ConstantInt *V) { in getConstant()
318 const SCEV *ScalarEvolution::getConstant(const APInt &Val) { in getConstant()
323 ScalarEvolution::getConstant(Type *Ty, uint64_t V, bool isSigned) { in getConstant()
697 static void divide(ScalarEvolution &SE, const SCEV *Numerator, in divide()
896 SCEVDivision(ScalarEvolution &S, const SCEV *Numerator, in SCEVDivision()
915 ScalarEvolution &SE;
928 ScalarEvolution &SE, in BinomialCoefficient()
1047 ScalarEvolution &SE) const { in evaluateAtIteration()
1066 const SCEV *ScalarEvolution::getTruncateExpr(const SCEV *Op, in getTruncateExpr()
1152 ScalarEvolution *SE) { in getSignedOverflowLimitForStep()
[all …]
DREADME.txt6 ScalarEvolution expression for %r is this:
11 ScalarEvolution currently evaluates it as
22 ScalarEvolution is forming this expression:
DScalarEvolutionNormalization.cpp70 ScalarEvolution &SE;
77 ScalarEvolution &se, DominatorTree &dt): in PostIncTransform()
250 ScalarEvolution &SE, in TransformForPostIncUse()
/external/llvm/include/llvm/Transforms/Utils/
DUnrollLoop.h30 class ScalarEvolution; variable
34 LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
39 ScalarEvolution *SE, DominatorTree *DT,
DLoopVersioning.h29 class ScalarEvolution; variable
43 DominatorTree *DT, ScalarEvolution *SE,
110 ScalarEvolution *SE;
DSimplifyIndVar.h30 class ScalarEvolution; variable
60 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
66 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
DLoopUtils.h33 class ScalarEvolution; variable
281 static bool isInductionPHI(PHINode *Phi, ScalarEvolution *SE,
304 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,
319 ScalarEvolution *SE);
331 ScalarEvolution *SE);
/external/llvm/lib/Transforms/Scalar/
DInductiveRangeCheckElimination.cpp126 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, in parseRangeCheckICmp()
275 return SE.getLoopDisposition(S, L) == ScalarEvolution::LoopInvariant && in parseRangeCheckICmp()
333 InductiveRangeCheck::parseRangeCheck(Loop *L, ScalarEvolution &SE, in parseRangeCheck()
392 Loop *L, ScalarEvolution &SE, in create()
476 static Optional<LoopStructure> parseLoopStructure(ScalarEvolution &,
597 ScalarEvolution &SE;
[all …]
DLoopInterchange.cpp302 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) { in getInductionVariable()
333 LoopInterchangeLegality(Loop *Outer, Loop *Inner, ScalarEvolution *SE, in LoopInterchangeLegality()
360 ScalarEvolution *SE;
372 LoopInterchangeProfitability(Loop *Outer, Loop *Inner, ScalarEvolution *SE) in LoopInterchangeProfitability()
386 ScalarEvolution *SE;
392 LoopInterchangeTransform(Loop *Outer, Loop *Inner, ScalarEvolution *SE, in LoopInterchangeTransform()
421 ScalarEvolution *SE;
431 ScalarEvolution *SE;
DAlignmentFromAssumptions.cpp76 ScalarEvolution *SE;
107 ScalarEvolution *SE) { in getNewAlignmentDiff()
142 ScalarEvolution *SE) { in getNewAlignment()
/external/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp49 ScalarEvolution *SE;
57 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, in SimplifyIndvar()
357 const SCEV *(ScalarEvolution::*GetExprForBO)(const SCEV *, const SCEV *, in strengthenOverflowingOperation()
365 GetExprForBO = &ScalarEvolution::getAddExpr; in strengthenOverflowingOperation()
369 GetExprForBO = &ScalarEvolution::getMinusSCEV; in strengthenOverflowingOperation()
373 GetExprForBO = &ScalarEvolution::getMulExpr; in strengthenOverflowingOperation()
498 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) { in isSimpleIVUser()
597 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT, in simplifyUsersOfIV()
607 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT, in simplifyLoopIVs()
DLCSSA.cpp220 ScalarEvolution *SE) { in formLCSSA()
266 ScalarEvolution *SE) { in formLCSSARecursively()
287 ScalarEvolution *SE;
/external/llvm/test/Analysis/ScalarEvolution/
Ddiv-overflow.ll5 ; Don't let ScalarEvolution fold this div away.
Dundefined.ll3 ; ScalarEvolution shouldn't attempt to interpret expressions which have
Dand-xor.ll14 ; ScalarEvolution shouldn't try to analyze %z into something like
/external/llvm/unittests/Analysis/
DScalarEvolutionTest.cpp42 ScalarEvolution buildSE(Function &F) { in buildSE()
46 return ScalarEvolution(F, TLI, *AC, *DT, *LI); in buildSE()
63 ScalarEvolution SE = buildSE(*F); in TEST_F()
108 ScalarEvolution SE = buildSE(*F); in TEST_F()

1234