/external/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::__anon11235::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/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/lib/Analysis/ |
H A D | ScalarEvolutionAliasAnalysis.cpp | 34 ScalarEvolution *SE; member in class:__anon10369::ScalarEvolutionAliasAnalysis 38 ScalarEvolutionAliasAnalysis() : FunctionPass(ID), SE(nullptr) { 84 SE = &getAnalysis<ScalarEvolution>(); 119 const SCEV *AS = SE->getSCEV(const_cast<Value *>(LocA.Ptr)); 120 const SCEV *BS = SE->getSCEV(const_cast<Value *>(LocB.Ptr)); 127 if (SE->getEffectiveSCEVType(AS->getType()) == 128 SE->getEffectiveSCEVType(BS->getType())) { 129 unsigned BitWidth = SE->getTypeSizeInBits(AS->getType()); 134 const SCEV *BA = SE->getMinusSCEV(BS, AS); 139 if (ASizeInt.ule(SE [all...] |
H A D | ScalarEvolutionNormalization.cpp | 70 ScalarEvolution &SE; member in class:__anon10372::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 | ScalarEvolutionExpander.cpp | 81 assert(SE.DT->dominates(Ret, BIP)); 96 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) && 110 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { 114 SE.getTypeSizeInBits(CI->getType()) == 115 SE.getTypeSizeInBits(CI->getOperand(0)->getType())) 120 SE.getTypeSizeInBits(CE->getType()) == 121 SE.getTypeSizeInBits(CE->getOperand(0)->getType())) 185 while (const Loop *L = SE 209 FactorOutConstant(const SCEV *&S, const SCEV *&Remainder, const SCEV *Factor, ScalarEvolution &SE, const DataLayout &DL) argument 287 SimplifyAddOperands(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument 316 SplitAddRecs(SmallVectorImpl<const SCEV *> &Ops, Type *Ty, ScalarEvolution &SE) argument 797 ExposePointerBase(const SCEV *&Base, const SCEV *&Rest, ScalarEvolution &SE) argument 999 canBeCheaplyTransformed(ScalarEvolution &SE, const SCEVAddRecExpr *Phi, const SCEVAddRecExpr *Requested, bool &InvertStep) argument 1030 IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) argument 1044 IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) argument 1896 ScalarEvolution &SE; member in struct:__anon10371::SCEVFindUnsafe 1923 isSafeToExpand(const SCEV *S, ScalarEvolution &SE) argument [all...] |
H A D | DependenceAnalysis.cpp | 136 SE = &getAnalysis<ScalarEvolution>(); 337 return SE->getNegativeSCEV(C); 374 A = SE->getConstant(D->getType(), 1); 375 B = SE->getNegativeSCEV(A); 376 C = SE->getNegativeSCEV(D); 387 SE = NewSE; 467 const SCEV *Prod1 = SE->getMulExpr(X->getA(), Y->getB()); 468 const SCEV *Prod2 = SE->getMulExpr(X->getB(), Y->getA()); 472 Prod1 = SE->getMulExpr(X->getC(), Y->getB()); 473 Prod2 = SE [all...] |
H A D | IVUsers.cpp | 51 ScalarEvolution *SE, LoopInfo *LI) { 59 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR); 63 return isInteresting(AR->getStart(), I, L, SE, LI) && 64 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI); 72 if (isInteresting(*OI, I, L, SE, LI)) { 124 if (!SE->isSCEVable(I->getType())) 136 uint64_t Width = SE->getTypeSizeInBits(I->getType()); 141 const SCEV *ISE = SE->getSCEV(I); 145 if (!isInteresting(ISE, I, L, SE, L 50 isInteresting(const SCEV *S, const Instruction *I, const Loop *L, ScalarEvolution *SE, LoopInfo *LI) argument [all...] |
H A D | Delinearization.cpp | 45 ScalarEvolution *SE; member in class:__anon10332::Delinearization 68 SE = &getAnalysis<ScalarEvolution>(); 97 const SCEV *AccessFn = SE->getSCEVAtScope(getPointerOperand(*Inst), L); 100 dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFn)); 104 AccessFn = SE->getMinusSCEV(AccessFn, BasePointer); 118 AR->delinearize(*SE, Subscripts, Sizes, SE->getElementSize(Inst));
|
H A D | LoopAccessAnalysis.cpp | 83 const SCEV *llvm::replaceSymbolicStrideSCEV(ScalarEvolution *SE, argument 87 const SCEV *OrigSCEV = SE->getSCEV(Ptr); 105 SCEVParameterRewriter::rewrite(OrigSCEV, *SE, RewriteMap, true); 112 return SE->getSCEV(Ptr); 116 ScalarEvolution *SE, Loop *Lp, Value *Ptr, bool WritePtr, unsigned DepSetId, 119 const SCEV *Sc = replaceSymbolicStrideSCEV(SE, Strides, Ptr); 122 const SCEV *Ex = SE->getBackedgeTakenCount(Lp); 123 const SCEV *ScEnd = AR->evaluateAtIteration(Ex, *SE); 225 unsigned &NumComparisons, ScalarEvolution *SE, 275 static bool hasComputableBounds(ScalarEvolution *SE, argument 115 insert( ScalarEvolution *SE, Loop *Lp, Value *Ptr, bool WritePtr, unsigned DepSetId, unsigned ASId, const ValueToValueMap &Strides) argument 290 canCheckPtrAtRT( LoopAccessInfo::RuntimePointerCheck &RtCheck, unsigned &NumComparisons, ScalarEvolution *SE, Loop *TheLoop, const ValueToValueMap &StridesMap, bool ShouldCheckStride) argument 502 isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp, const ValueToValueMap &StridesMap) argument [all...] |
/external/llvm/lib/Transforms/Utils/ |
H A D | SimplifyIndVar.cpp | 50 ScalarEvolution *SE; member in class:__anon11112::SimplifyIndvar 57 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, LoopInfo *LI, argument 59 : L(Loop), LI(LI), SE(SE), DeadInsts(Dead), Changed(false) { 114 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand"); 126 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); 129 if (!SE->isSCEVable(UseInst->getType())) 133 if (SE 418 isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) argument 517 simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl<WeakVH> &Dead, IVVisitor *V) argument 528 simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM, SmallVectorImpl<WeakVH> &Dead) argument [all...] |
/external/llvm/lib/Transforms/Scalar/ |
H A D | AlignmentFromAssumptions.cpp | 72 ScalarEvolution *SE; member in struct:__anon11000::AlignmentFromAssumptions 103 ScalarEvolution *SE) { 105 const SCEV *DiffAlignDiv = SE->getUDivExpr(DiffSCEV, AlignSCEV); 106 const SCEV *DiffAlign = SE->getMulExpr(DiffAlignDiv, AlignSCEV); 107 const SCEV *DiffUnitsSCEV = SE->getMinusSCEV(DiffAlign, DiffSCEV); 138 ScalarEvolution *SE) { 139 const SCEV *PtrSCEV = SE->getSCEV(Ptr); 140 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV); 144 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType()); 148 DiffSCEV = SE 101 getNewAlignmentDiff(const SCEV *DiffSCEV, const SCEV *AlignSCEV, ScalarEvolution *SE) argument 136 getNewAlignment(const SCEV *AASCEV, const SCEV *AlignSCEV, const SCEV *OffSCEV, Value *Ptr, ScalarEvolution *SE) argument [all...] |
H A D | InductiveRangeCheckElimination.cpp | 126 ScalarEvolution &SE, Value *&Index, 130 parseRangeCheck(Loop *L, ScalarEvolution &SE, Value *Condition, 192 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE, 199 Loop *L, ScalarEvolution &SE, 260 ScalarEvolution &SE, Value *&Index, 263 auto IsNonNegativeAndNotLoopVarying = [&SE, L](Value *V) { 264 const SCEV *S = SE.getSCEV(V); 268 return SE.getLoopDisposition(S, L) == ScalarEvolution::LoopInvariant && 269 SE.isKnownNonNegative(S); 326 InductiveRangeCheck::parseRangeCheck(Loop *L, ScalarEvolution &SE, argument 259 parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE, Value *&Index, Value *&Length) argument 384 create(InductiveRangeCheck::AllocatorTy &A, BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo &BPI) argument 590 ScalarEvolution &SE; member in class:__anon11022::__anon11023::LoopConstrainer 610 LoopConstrainer(Loop &L, LoopInfo &LI, const LoopStructure &LS, ScalarEvolution &SE, InductiveRangeCheck::Range R) argument 630 CanBeSMax(ScalarEvolution &SE, const SCEV *S) argument 637 CanBeSMin(ScalarEvolution &SE, const SCEV *S) argument 645 parseLoopStructure(ScalarEvolution &SE, BranchProbabilityInfo &BPI, Loop &L, const char *&FailureReason) argument 1301 computeSafeIterationSpace(ScalarEvolution &SE, const SCEVAddRecExpr *IndVar, IRBuilder<> &) const argument 1369 IntersectRange(ScalarEvolution &SE, const Optional<InductiveRangeCheck::Range> &R1, const InductiveRangeCheck::Range &R2, IRBuilder<> &B) argument 1402 ScalarEvolution &SE = getAnalysis<ScalarEvolution>(); local [all...] |
H A D | NaryReassociate.cpp | 131 ScalarEvolution *SE; member in class:__anon11054::NaryReassociate 164 SE = &getAnalysis<ScalarEvolution>(); 187 SE->forgetValue(I); 194 SeenExprs[SE->getSCEV(I)].push_back(I); 217 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); 218 const SCEV *RHSExpr = SE->getSCEV(RHS); 219 if (auto *NewI = tryReassociatedAdd(SE->getAddExpr(AExpr, RHSExpr), B, I)) 221 if (auto *NewI = tryReassociatedAdd(SE->getAddExpr(BExpr, RHSExpr), A, I))
|
H A D | IndVarSimplify.cpp | 74 ScalarEvolution *SE; member in class:__anon11017::IndVarSimplify 85 : LoopPass(ID), LI(nullptr), SE(nullptr), DT(nullptr), Changed(false) { 178 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr)); 179 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr)); 464 SE->forgetLoop(L); 532 SE->forgetValue(PN); 554 const SCEV *ExitValue = SE->getSCEVAtScope(Inst, L->getParentLoop()); 555 if (!SE 664 visitIVCast(CastInst *Cast, WideIVInfo &WI, ScalarEvolution *SE, const TargetTransformInfo *TTI) argument 732 ScalarEvolution *SE; member in class:__anon11019::WidenIV 1202 ScalarEvolution *SE; member in class:__anon11020::IndVarSimplifyVisitor 1290 canExpandBackedgeTakenCount(Loop *L, ScalarEvolution *SE, SCEVExpander &Rewriter) argument 1470 FindLoopCounter(Loop *L, const SCEV *BECount, ScalarEvolution *SE, DominatorTree *DT) argument 1553 genLoopLimit(PHINode *IndVar, const SCEV *IVCount, Loop *L, SCEVExpander &Rewriter, ScalarEvolution *SE) argument [all...] |
H A D | LoopStrengthReduce.cpp | 264 void InitialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE); 291 ScalarEvolution &SE) { 293 if (SE.properlyDominates(S, L->getHeader())) { 302 DoInitialMatch(*I, L, Good, Bad, SE); 309 DoInitialMatch(AR->getStart(), L, Good, Bad, SE); 310 DoInitialMatch(SE.getAddRecExpr(SE.getConstant(AR->getType(), 0), 311 AR->getStepRecurrence(SE), 314 L, Good, Bad, SE); 322 const SCEV *NewMul = SE 288 DoInitialMatch(const SCEV *S, Loop *L, SmallVectorImpl<const SCEV *> &Good, SmallVectorImpl<const SCEV *> &Bad, ScalarEvolution &SE) argument 346 InitialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) argument 498 isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) argument 506 isAddSExtable(const SCEVAddExpr *A, ScalarEvolution &SE) argument 514 isMulSExtable(const SCEVMulExpr *M, ScalarEvolution &SE) argument 527 getExactSDiv(const SCEV *LHS, const SCEV *RHS, ScalarEvolution &SE, bool IgnoreSignificantBits = false) argument 619 ExtractImmediate(const SCEV *&S, ScalarEvolution &SE) argument 646 ExtractSymbol(const SCEV *&S, ScalarEvolution &SE) argument 724 isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) argument 745 isHighCostExpansion(const SCEV *S, SmallPtrSetImpl<const SCEV*> &Processed, ScalarEvolution &SE) argument 920 RateRegister(const SCEV *Reg, SmallPtrSetImpl<const SCEV *> &Regs, const Loop *L, ScalarEvolution &SE, DominatorTree &DT) argument 968 RatePrimaryRegister(const SCEV *Reg, SmallPtrSetImpl<const SCEV *> &Regs, const Loop *L, ScalarEvolution &SE, DominatorTree &DT, SmallPtrSetImpl<const SCEV *> *LoserRegs) argument 984 RateFormula(const TargetTransformInfo &TTI, const Formula &F, SmallPtrSetImpl<const SCEV *> &Regs, const DenseSet<const SCEV *> &VisitedRegs, const Loop *L, const SmallVectorImpl<int64_t> &Offsets, ScalarEvolution &SE, DominatorTree &DT, const LSRUse &LU, SmallPtrSetImpl<const SCEV *> *LoserRegs) argument 1558 isAlwaysFoldable(const TargetTransformInfo &TTI, ScalarEvolution &SE, int64_t MinOffset, int64_t MaxOffset, LSRUse::KindType Kind, Type *AccessTy, const SCEV *S, bool HasBaseReg) argument 1654 ScalarEvolution &SE; member in class:__anon11041::LSRInstance 2444 findIVOperand(User::op_iterator OI, User::op_iterator OE, Loop *L, ScalarEvolution &SE) argument 2525 isProfitableIncrement(const SCEV *OperExpr, const SCEV *IncExpr, ScalarEvolution &SE) argument 2555 isProfitableChain(IVChain &Chain, SmallPtrSetImpl<Instruction*> &Users, ScalarEvolution &SE, const TargetTransformInfo &TTI) argument 3202 CollectSubexprs(const SCEV *S, const SCEVConstant *C, SmallVectorImpl<const SCEV *> &Ops, const Loop *L, ScalarEvolution &SE, unsigned Depth = 0) argument [all...] |
/external/clang/lib/StaticAnalyzer/Checkers/ |
H A D | VLASizeChecker.cpp | 96 const Expr *SE = VLA->getSizeExpr(); local 98 SVal sizeV = state->getSVal(SE, C.getLocationContext()); 101 reportBug(VLA_Garbage, SE, state, C); 112 reportBug(VLA_Tainted, SE, nullptr, C); 123 reportBug(VLA_Zero, SE, stateZero, C); 137 QualType Ty = SE->getType(); 148 reportBug(VLA_Negative, SE, state, C); 157 svalBuilder.evalCast(sizeD, SizeTy, SE->getType()).castAs<NonLoc>();
|
/external/llvm/include/llvm/Transforms/Utils/ |
H A D | SimplifyIndVar.h | 60 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM, 65 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
|
H A D | LoopUtils.h | 54 AliasAnalysis *AA = nullptr, ScalarEvolution *SE = nullptr, 69 ScalarEvolution *SE = nullptr); 81 ScalarEvolution *SE = nullptr);
|
/external/llvm/include/llvm/Analysis/ |
H A D | ScalarEvolutionNormalization.h | 73 ScalarEvolution &SE,
|
H A D | ScalarEvolutionExpressions.h | 305 const SCEV *getStepRecurrence(ScalarEvolution &SE) const { 307 return SE.getAddRecExpr(SmallVector<const SCEV *, 3>(op_begin()+1, 338 const SCEV *evaluateAtIteration(const SCEV *It, ScalarEvolution &SE) const; 347 ScalarEvolution &SE) const; 351 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const { 352 return cast<SCEVAddRecExpr>(SE.getAddExpr(this, getStepRecurrence(SE))); 361 void collectParametricTerms(ScalarEvolution &SE, 365 void computeAccessFunctions(ScalarEvolution &SE, 433 void delinearize(ScalarEvolution &SE, 495 ScalarEvolution *SE; member in class:llvm::SCEVUnknown 641 rewrite(const SCEV *Scev, ScalarEvolution &SE, ValueToValueMap &Map, bool InterpretConsts = false) argument 726 ScalarEvolution &SE; member in struct:llvm::SCEVParameterRewriter 738 rewrite(const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE) argument 822 ScalarEvolution &SE; member in struct:llvm::SCEVApplyRewriter 827 apply(const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE) argument [all...] |
/external/llvm/lib/CodeGen/ |
H A D | EdgeBundles.cpp | 48 SE = MBB.succ_end(); SI != SE; ++SI) 85 SE = MBB.succ_end(); SI != SE; ++SI)
|
/external/clang/lib/StaticAnalyzer/Core/ |
H A D | SimpleConstraintManager.cpp | 29 const SymExpr *SE = SymVal->getSymbol(); local 31 if (const SymIntExpr *SIE = dyn_cast<SymIntExpr>(SE)) { 52 if (const SymSymExpr *SSE = dyn_cast<SymSymExpr>(SE)) { 140 } else if (const SymIntExpr *SE = dyn_cast<SymIntExpr>(sym)) { 143 BinaryOperator::Opcode op = SE->getOpcode(); 148 return assumeSymRel(state, SE->getLHS(), op, SE->getRHS()); 195 if (const SymIntExpr *SE = dyn_cast<SymIntExpr>(Sym)) { 196 BinaryOperator::Opcode Op = SE->getOpcode(); 198 Sym = SE [all...] |
/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
H A D | SymbolManager.h | 81 symbol_iterator(const SymExpr *SE); 117 static inline bool classof(const SymExpr *SE) { argument 118 Kind k = SE->getKind(); 147 static inline bool classof(const SymExpr *SE) { argument 148 return SE->getKind() == RegionValueKind; 193 static inline bool classof(const SymExpr *SE) { argument 194 return SE->getKind() == ConjuredKind; 227 static inline bool classof(const SymExpr *SE) { argument 228 return SE->getKind() == DerivedKind; 258 static inline bool classof(const SymExpr *SE) { argument 303 classof(const SymExpr *SE) argument 339 classof(const SymExpr *SE) argument 361 classof(const SymExpr *SE) argument 397 classof(const SymExpr *SE) argument 432 classof(const SymExpr *SE) argument 466 classof(const SymExpr *SE) argument 668 operator <<(raw_ostream &os, const clang::ento::SymExpr *SE) argument [all...] |
/external/llvm/lib/Target/PowerPC/ |
H A D | PPCLoopDataPrefetch.cpp | 75 // FIXME: For some reason, preserving SE here breaks LSR (even if 87 ScalarEvolution *SE; member in class:__anon10814::PPCLoopDataPrefetch 107 SE = &getAnalysis<ScalarEvolution>(); 179 const SCEV *LSCEV = SE->getSCEV(PtrValue); 191 const SCEV *PtrDiff = SE->getMinusSCEV(LSCEVAddRec, K->second); 204 const SCEV *NextLSCEV = SE->getAddExpr(LSCEVAddRec, SE->getMulExpr( 205 SE->getConstant(LSCEVAddRec->getType(), ItersAhead), 206 LSCEVAddRec->getStepRecurrence(*SE))); 207 if (!isSafeToExpand(NextLSCEV, *SE)) [all...] |
H A D | PPCLoopPreIncPrep.cpp | 88 ScalarEvolution *SE; member in class:__anon10815::PPCLoopPreIncPrep 106 SCEVLess(ScalarEvolution *SE) : SE(SE) {} argument 109 const SCEV *Diff = SE->getMinusSCEV(X, Y); 114 ScalarEvolution *SE; member in struct:__anon10816::SCEVLess 143 SE = &getAnalysis<ScalarEvolution>(); 206 const SCEV *LSCEV = SE->getSCEVAtScope(PtrValue, L); 218 const SCEV *Diff = SE->getMinusSCEV(K->first, LSCEV); 227 Buckets.push_back(Bucket(SCEVLess(SE))); [all...] |