Searched refs:SE (Results 1 - 25 of 256) sorted by relevance

1234567891011

/external/llvm/unittests/Analysis/
H A DScalarEvolutionTest.cpp63 ScalarEvolution SE = buildSE(*F); local
65 const SCEV *S0 = SE.getSCEV(V0);
66 const SCEV *S1 = SE.getSCEV(V1);
67 const SCEV *S2 = SE.getSCEV(V2);
69 const SCEV *P0 = SE.getAddExpr(S0, S0);
70 const SCEV *P1 = SE.getAddExpr(S1, S1);
71 const SCEV *P2 = SE.getAddExpr(S2, S2);
108 ScalarEvolution SE = buildSE(*F); local
117 A.push_back(SE.getSCEV(&*AI++));
118 A.push_back(SE
255 ScalarEvolution SE = buildSE(*F); local
[all...]
/external/swiftshader/third_party/LLVM/unittests/Analysis/
H A DScalarEvolutionTest.cpp27 ScalarEvolutionsTest() : M("", Context), SE(*new ScalarEvolution) {}
31 SE.releaseMemory();
36 ScalarEvolution &SE; member in class:llvm::__anon19081::ScalarEvolutionsTest
53 PM.add(&SE);
56 const SCEV *S0 = SE.getSCEV(V0);
57 const SCEV *S1 = SE.getSCEV(V1);
58 const SCEV *S2 = SE.getSCEV(V2);
60 const SCEV *P0 = SE.getAddExpr(S0, S0);
61 const SCEV *P1 = SE.getAddExpr(S1, S1);
62 const SCEV *P2 = SE
[all...]
/external/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp48 ScalarEvolution *SE; member in class:__anon13449::SimplifyIndvar
56 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, argument
58 : L(Loop), LI(LI), SE(SE), DT(DT), DeadInsts(Dead), Changed(false) {
113 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand");
125 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D));
128 if (!SE->isSCEVable(UseInst->getType()))
132 if (SE
576 isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) argument
669 simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT, LoopInfo *LI, SmallVectorImpl<WeakVH> &Dead, IVVisitor *V) argument
679 simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT, LoopInfo *LI, SmallVectorImpl<WeakVH> &Dead) argument
[all...]
/external/llvm/include/llvm/ADT/
H A DSetOperations.h26 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
27 SI != SE; ++SI)
53 for (typename S1Ty::const_iterator SI = S1.begin(), SE = S1.end();
54 SI != SE; ++SI)
64 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
65 SI != SE; ++SI)
/external/llvm/include/llvm/Analysis/
H A DScalarEvolutionAliasAnalysis.h28 ScalarEvolution &SE; member in class:llvm::SCEVAAResult
31 explicit SCEVAAResult(ScalarEvolution &SE) : AAResultBase(), SE(SE) {} argument
32 SCEVAAResult(SCEVAAResult &&Arg) : AAResultBase(std::move(Arg)), SE(Arg.SE) {}
H A DLoopUnrollAnalyzer.h51 ScalarEvolution &SE, const Loop *L)
52 : SimplifiedValues(SimplifiedValues), SE(SE), L(L) {
53 IterationNumber = SE.getConstant(APInt(64, Iteration));
82 ScalarEvolution &SE; member in class:llvm::UnrolledInstAnalyzer
49 UnrolledInstAnalyzer(unsigned Iteration, DenseMap<Value *, Constant *> &SimplifiedValues, ScalarEvolution &SE, const Loop *L) argument
H A DScalarEvolutionExpressions.h297 const SCEV *getStepRecurrence(ScalarEvolution &SE) const {
299 return SE.getAddRecExpr(SmallVector<const SCEV *, 3>(op_begin()+1,
330 const SCEV *evaluateAtIteration(const SCEV *It, ScalarEvolution &SE) const;
339 ScalarEvolution &SE) const;
343 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const {
344 return cast<SCEVAddRecExpr>(SE.getAddExpr(this, getStepRecurrence(SE)));
403 ScalarEvolution *SE; member in class:llvm::final
411 SCEV(ID, scUnknown), CallbackVH(V), SE(se), Next(next) {}
544 ScalarEvolution &SE; member in class:llvm::SCEVRewriteVisitor
546 SCEVRewriteVisitor(ScalarEvolution &SE) argument
623 rewrite(const SCEV *Scev, ScalarEvolution &SE, ValueToValueMap &Map, bool InterpretConsts = false) argument
630 SCEVParameterRewriter(ScalarEvolution &SE, ValueToValueMap &M, bool C) argument
656 rewrite(const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE) argument
662 SCEVLoopAddRecRewriter(ScalarEvolution &SE, LoopToScevMapT &M) argument
[all...]
/external/swiftshader/third_party/LLVM/include/llvm/ADT/
H A DSetOperations.h26 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
27 SI != SE; ++SI)
53 for (typename S1Ty::const_iterator SI = S1.begin(), SE = S1.end();
54 SI != SE; ++SI)
64 for (typename S2Ty::const_iterator SI = S2.begin(), SE = S2.end();
65 SI != SE; ++SI)
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp48 ScalarEvolution *SE; member in class:__anon19003::SimplifyIndvar
57 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, LPPassManager *LPM, argument
61 SE(SE),
116 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand");
128 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D));
131 if (!SE->isSCEVable(UseInst->getType()))
135 if (SE
301 isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) argument
380 simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl<WeakVH> &Dead, IVVisitor *V) argument
391 simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl<WeakVH> &Dead) argument
405 simplifyIVUsers(IVUsers *IU, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl<WeakVH> &Dead) argument
[all...]
/external/swiftshader/third_party/LLVM/lib/Analysis/
H A DScalarEvolutionAliasAnalysis.cpp33 ScalarEvolution *SE; member in class:__anon18495::ScalarEvolutionAliasAnalysis
37 ScalarEvolutionAliasAnalysis() : FunctionPass(ID), SE(0) {
83 SE = &getAnalysis<ScalarEvolution>();
118 const SCEV *AS = SE->getSCEV(const_cast<Value *>(LocA.Ptr));
119 const SCEV *BS = SE->getSCEV(const_cast<Value *>(LocB.Ptr));
126 if (SE->getEffectiveSCEVType(AS->getType()) ==
127 SE->getEffectiveSCEVType(BS->getType())) {
128 unsigned BitWidth = SE->getTypeSizeInBits(AS->getType());
133 const SCEV *BA = SE->getMinusSCEV(BS, AS);
138 if (ASizeInt.ule(SE
[all...]
H A DScalarEvolutionExpander.cpp72 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) &&
81 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) {
85 SE.getTypeSizeInBits(CI->getType()) ==
86 SE.getTypeSizeInBits(CI->getOperand(0)->getType()))
91 SE.getTypeSizeInBits(CE->getType()) ==
92 SE.getTypeSizeInBits(CE->getOperand(0)->getType()))
157 while (const Loop *L = SE.LI->getLoopFor(Builder.GetInsertBlock())) {
188 ScalarEvolution &SE,
185 FactorOutConstant(const SCEV *&S, const SCEV *&Remainder, const SCEV *Factor, ScalarEvolution &SE, const TargetData *TD) argument
283 SimplifyAddOperands(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument
312 SplitAddRecs(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument
827 ExposePointerBase(const SCEV *&Base, const SCEV *&Rest, ScalarEvolution &SE) argument
[all...]
H A DIVUsers.cpp49 ScalarEvolution *SE, LoopInfo *LI) {
57 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR);
61 return isInteresting(AR->getStart(), I, L, SE, LI) &&
62 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI);
70 if (isInteresting(*OI, I, L, SE, LI)) {
86 if (!SE->isSCEVable(I->getType()))
92 uint64_t Width = SE->getTypeSizeInBits(I->getType());
100 const SCEV *ISE = SE->getSCEV(I);
104 if (!isInteresting(ISE, I, L, SE, L
48 isInteresting(const SCEV *S, const Instruction *I, const Loop *L, ScalarEvolution *SE, LoopInfo *LI) argument
[all...]
H A DScalarEvolutionNormalization.cpp70 ScalarEvolution &SE; member in class:__anon18497::PostIncTransform
78 Kind(kind), Loops(loops), SE(se), DT(dt) {}
99 case scZeroExtend: return SE.getZeroExtendExpr(N, S->getType());
100 case scSignExtend: return SE.getSignExtendExpr(N, S->getType());
101 case scTruncate: return SE.getTruncateExpr(N, S->getType());
119 const SCEV *Result = SE.getAddRecExpr(Operands, L, SCEV::FlagAnyWrap);
125 TransformSubExpr(AR->getStepRecurrence(SE),
127 Result = SE.getMinusSCEV(Result, TransformedStep);
142 TransformSubExpr(AR->getStepRecurrence(SE),
144 Result = SE
216 TransformForPostIncUse(TransformKind Kind, const SCEV *S, Instruction *User, Value *OperandValToReplace, PostIncLoopSet &Loops, ScalarEvolution &SE, DominatorTree &DT) argument
[all...]
/external/llvm/lib/Analysis/
H A DScalarEvolutionExpander.cpp83 assert(SE.DT.dominates(Ret, &*BIP));
118 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) &&
132 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) {
136 SE.getTypeSizeInBits(CI->getType()) ==
137 SE.getTypeSizeInBits(CI->getOperand(0)->getType()))
142 SE.getTypeSizeInBits(CE->getType()) ==
143 SE.getTypeSizeInBits(CE->getOperand(0)->getType()))
202 while (const Loop *L = SE
226 FactorOutConstant(const SCEV *&S, const SCEV *&Remainder, const SCEV *Factor, ScalarEvolution &SE, const DataLayout &DL) argument
299 SimplifyAddOperands(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument
328 SplitAddRecs(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument
800 ExposePointerBase(const SCEV *&Base, const SCEV *&Rest, ScalarEvolution &SE) argument
1022 canBeCheaplyTransformed(ScalarEvolution &SE, const SCEVAddRecExpr *Phi, const SCEVAddRecExpr *Requested, bool &InvertStep) argument
1053 IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) argument
1067 IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) argument
2179 ScalarEvolution &SE; member in struct:__anon12500::SCEVFindUnsafe
2206 isSafeToExpand(const SCEV *S, ScalarEvolution &SE) argument
[all...]
H A DScalarEvolutionNormalization.cpp70 ScalarEvolution &SE; member in class:__anon12501::PostIncTransform
78 Kind(kind), Loops(loops), SE(se), DT(dt) {}
99 case scZeroExtend: return SE.getZeroExtendExpr(N, S->getType());
100 case scSignExtend: return SE.getSignExtendExpr(N, S->getType());
101 case scTruncate: return SE.getTruncateExpr(N, S->getType());
119 const SCEV *Result = SE.getAddRecExpr(Operands, L, SCEV::FlagAnyWrap);
135 TransformSubExpr(AR->getStepRecurrence(SE),
137 Result = SE.getMinusSCEV(Result, TransformedStep);
166 TransformSubExpr(AR->getStepRecurrence(SE),
168 Result = SE
245 TransformForPostIncUse(TransformKind Kind, const SCEV *S, Instruction *User, Value *OperandValToReplace, PostIncLoopSet &Loops, ScalarEvolution &SE, DominatorTree &DT) argument
[all...]
H A DScalarEvolutionAliasAnalysis.cpp34 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr));
35 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr));
43 if (SE.getEffectiveSCEVType(AS->getType()) ==
44 SE.getEffectiveSCEVType(BS->getType())) {
45 unsigned BitWidth = SE.getTypeSizeInBits(AS->getType());
50 const SCEV *BA = SE.getMinusSCEV(BS, AS);
55 if (ASizeInt.ule(SE.getUnsignedRange(BA).getUnsignedMin()) &&
56 (-BSizeInt).uge(SE.getUnsignedRange(BA).getUnsignedMax()))
64 const SCEV *AB = SE.getMinusSCEV(AS, BS);
69 if (BSizeInt.ule(SE
[all...]
H A DDelinearization.cpp44 ScalarEvolution *SE; member in class:__anon12471::Delinearization
67 SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
96 const SCEV *AccessFn = SE->getSCEVAtScope(getPointerOperand(*Inst), L);
99 dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFn));
103 AccessFn = SE->getMinusSCEV(AccessFn, BasePointer);
111 SE->delinearize(AccessFn, Subscripts, Sizes, SE->getElementSize(Inst));
H A DDependenceAnalysis.cpp120 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F); local
122 return DependenceInfo(&F, &AA, &SE, &LI);
143 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); local
145 info.reset(new DependenceInfo(&F, &AA, &SE, &LI));
344 return SE->getNegativeSCEV(C);
375 A = SE->getOne(D->getType());
376 B = SE->getNegativeSCEV(A);
377 C = SE->getNegativeSCEV(D);
384 SE = NewSE;
463 const SCEV *Prod1 = SE
[all...]
H A DIVUsers.cpp54 ScalarEvolution *SE, LoopInfo *LI) {
62 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR);
66 return isInteresting(AR->getStart(), I, L, SE, LI) &&
67 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI);
75 if (isInteresting(*OI, I, L, SE, LI)) {
127 if (!SE->isSCEVable(I->getType()))
139 uint64_t Width = SE->getTypeSizeInBits(I->getType());
149 const SCEV *ISE = SE->getSCEV(I);
153 if (!isInteresting(ISE, I, L, SE, L
53 isInteresting(const SCEV *S, const Instruction *I, const Loop *L, ScalarEvolution *SE, LoopInfo *LI) argument
[all...]
/external/swiftshader/third_party/LLVM/include/llvm/Transforms/Utils/
H A DSimplifyIndVar.h42 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM,
47 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
53 bool simplifyIVUsers(IVUsers *IU, ScalarEvolution *SE, LPPassManager *LPM,
/external/llvm/include/llvm/Transforms/Scalar/
H A DLoopDeletion.h27 bool runImpl(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
31 bool isLoopDead(Loop *L, ScalarEvolution &SE,
/external/llvm/lib/Transforms/Scalar/
H A DAlignmentFromAssumptions.cpp95 ScalarEvolution *SE) {
97 const SCEV *DiffAlignDiv = SE->getUDivExpr(DiffSCEV, AlignSCEV);
98 const SCEV *DiffAlign = SE->getMulExpr(DiffAlignDiv, AlignSCEV);
99 const SCEV *DiffUnitsSCEV = SE->getMinusSCEV(DiffAlign, DiffSCEV);
130 ScalarEvolution *SE) {
131 const SCEV *PtrSCEV = SE->getSCEV(Ptr);
132 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV);
136 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType());
140 DiffSCEV = SE->getMinusSCEV(DiffSCEV, OffSCEV);
146 unsigned NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE);
93 getNewAlignmentDiff(const SCEV *DiffSCEV, const SCEV *AlignSCEV, ScalarEvolution *SE) argument
128 getNewAlignment(const SCEV *AASCEV, const SCEV *AlignSCEV, const SCEV *OffSCEV, Value *Ptr, ScalarEvolution *SE) argument
407 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); local
434 ScalarEvolution &SE = AM.getResult<ScalarEvolutionAnalysis>(F); local
[all...]
H A DInductiveRangeCheckElimination.cpp125 ScalarEvolution &SE, Value *&Index,
129 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
187 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
196 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE,
255 ScalarEvolution &SE, Value *&Index,
258 auto IsNonNegativeAndNotLoopVarying = [&SE, L](Value *V) {
259 const SCEV *S = SE.getSCEV(V);
263 return SE.getLoopDisposition(S, L) == ScalarEvolution::LoopInvariant &&
264 SE.isKnownNonNegative(S);
319 Loop *L, ScalarEvolution &SE, Us
254 parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE, Value *&Index, Value *&Length) argument
318 extractRangeChecksFromCond( Loop *L, ScalarEvolution &SE, Use &ConditionUse, SmallVectorImpl<InductiveRangeCheck> &Checks, SmallPtrSetImpl<Value *> &Visited) argument
386 extractRangeChecksFromBranch( BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo &BPI, SmallVectorImpl<InductiveRangeCheck> &Checks) argument
568 ScalarEvolution &SE; member in class:__anon13356::__anon13357::LoopConstrainer
588 LoopConstrainer(Loop &L, LoopInfo &LI, const LoopStructure &LS, ScalarEvolution &SE, InductiveRangeCheck::Range R) argument
608 CanBeSMax(ScalarEvolution &SE, const SCEV *S) argument
615 CanBeSMin(ScalarEvolution &SE, const SCEV *S) argument
623 parseLoopStructure(ScalarEvolution &SE, BranchProbabilityInfo &BPI, Loop &L, const char *&FailureReason) argument
1279 computeSafeIterationSpace( ScalarEvolution &SE, const SCEVAddRecExpr *IndVar) const argument
1346 IntersectRange(ScalarEvolution &SE, const Optional<InductiveRangeCheck::Range> &R1, const InductiveRangeCheck::Range &R2) argument
1381 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); local
[all...]
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp78 ScalarEvolution *SE; member in class:__anon18931::IndVarSimplify
87 IndVarSimplify() : LoopPass(ID), IU(0), LI(0), SE(0), DT(0), TD(0),
183 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr));
184 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr));
476 SE->forgetLoop(L);
529 SE->forgetValue(PN);
551 const SCEV *ExitValue = SE->getSCEVAtScope(Inst, L->getParentLoop());
552 if (!SE
608 isSafe(const SCEV *S, const Loop *L, ScalarEvolution *SE) argument
732 ScalarEvolution *SE; member in class:__anon18932::WideIVVisitor
804 ScalarEvolution *SE; member in class:__anon18933::WidenIV
1233 isHighCostExpansion(const SCEV *S, BranchInst *BI, ScalarEvolution *SE) argument
1281 canExpandBackedgeTakenCount(Loop *L, ScalarEvolution *SE) argument
1438 FindLoopCounter(Loop *L, const SCEV *BECount, ScalarEvolution *SE, DominatorTree *DT, const TargetData *TD) argument
[all...]
/external/llvm/include/llvm/Transforms/Utils/
H A DLoopSimplify.h60 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,

Completed in 1409 milliseconds

1234567891011