/external/llvm/unittests/Analysis/ |
H A D | ScalarEvolutionTest.cpp | 63 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 D | ScalarEvolutionTest.cpp | 27 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 D | SimplifyIndVar.cpp | 48 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 D | SetOperations.h | 26 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 D | ScalarEvolutionAliasAnalysis.h | 28 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 D | LoopUnrollAnalyzer.h | 51 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 D | ScalarEvolutionExpressions.h | 297 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 D | SetOperations.h | 26 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 D | SimplifyIndVar.cpp | 48 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 D | ScalarEvolutionAliasAnalysis.cpp | 33 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 D | ScalarEvolutionExpander.cpp | 72 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 D | IVUsers.cpp | 49 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 D | ScalarEvolutionNormalization.cpp | 70 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 D | ScalarEvolutionExpander.cpp | 83 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 D | ScalarEvolutionNormalization.cpp | 70 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 D | ScalarEvolutionAliasAnalysis.cpp | 34 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 D | Delinearization.cpp | 44 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 D | DependenceAnalysis.cpp | 120 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 D | IVUsers.cpp | 54 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 D | SimplifyIndVar.h | 42 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 D | LoopDeletion.h | 27 bool runImpl(Loop *L, DominatorTree &DT, ScalarEvolution &SE, 31 bool isLoopDead(Loop *L, ScalarEvolution &SE,
|
/external/llvm/lib/Transforms/Scalar/ |
H A D | AlignmentFromAssumptions.cpp | 95 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 D | InductiveRangeCheckElimination.cpp | 125 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 D | IndVarSimplify.cpp | 78 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 D | LoopSimplify.h | 60 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,
|