/external/llvm/lib/Analysis/ |
D | IVUsers.cpp | 56 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting() 340 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop() 341 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop() 350 if (const SCEVAddRecExpr *AR = findAddRecForLoop(*I, L)) in findAddRecForLoop() 359 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
|
D | ScalarEvolution.cpp | 160 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print() 545 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in compare() 546 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in compare() 782 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) { in visitAddRecExpr() 1046 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration() 1131 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr() 1240 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend() 1272 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend() 1295 const_cast<SCEVAddRecExpr *>(PreAR)->setNoWrapFlags(WrapType); in getPreStartForExtend() 1314 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart() [all …]
|
D | ScalarEvolutionExpander.cpp | 279 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant() 305 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands() 336 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs() 617 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop() 806 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase() 1008 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed() 1009 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed() 1018 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed() 1038 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW() 1052 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW() [all …]
|
D | DependenceAnalysis.cpp | 861 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src); in checkSrcSubscript() 887 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst); in checkDstSubscript() 2114 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV() 2115 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV() 2192 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV() 2193 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV() 2203 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV() 2204 dyn_cast<SCEVAddRecExpr>(SrcAddRec->getStart())) { in testRDIV() 2216 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV() 2217 dyn_cast<SCEVAddRecExpr>(DstAddRec->getStart())) { in testRDIV() [all …]
|
D | ScalarEvolutionAliasAnalysis.cpp | 97 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
|
D | ScalarEvolutionNormalization.cpp | 107 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in TransformImpl()
|
D | LoopAccessAnalysis.cpp | 133 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc); in insert() 527 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in hasComputableBounds() 775 static bool isNoWrapAddRec(Value *Ptr, const SCEVAddRecExpr *AR, in isNoWrapAddRec() 814 if (auto *OpAR = dyn_cast<SCEVAddRecExpr>(OpScev)) in isNoWrapAddRec() 837 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in isStridedPtr()
|
D | VectorUtils.cpp | 310 const SCEVAddRecExpr *S = dyn_cast<SCEVAddRecExpr>(V); in getStrideFromPointer()
|
/external/llvm/lib/Transforms/Scalar/ |
D | LoopIdiomRecognize.cpp | 127 Instruction *TheStore, const SCEVAddRecExpr *Ev, 130 const SCEVAddRecExpr *StoreEv, 254 static unsigned getStoreStride(const SCEVAddRecExpr *StoreEv) { in getStoreStride() 316 const SCEVAddRecExpr *StoreEv = in isLegalStore() 317 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore() 392 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStore() 425 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet() 497 Value *StoredVal, Instruction *TheStore, const SCEVAddRecExpr *Ev, in processLoopStridedStore() 612 StoreInst *SI, unsigned StoreSize, const SCEVAddRecExpr *StoreEv, in processLoopStoreOfLoopLoad() 626 const SCEVAddRecExpr *LoadEv = in processLoopStoreOfLoopLoad() [all …]
|
D | IndVarSimplify.cpp | 896 Instruction *cloneIVUser(NarrowIVDefUse DU, const SCEVAddRecExpr *WideAR); 898 const SCEVAddRecExpr *WideAR); 901 const SCEVAddRecExpr *getWideRecurrence(Instruction *NarrowUse); 903 const SCEVAddRecExpr* getExtendedOperandRecurrence(NarrowIVDefUse DU); 945 const SCEVAddRecExpr *WideAR) { in cloneIVUser() 996 const SCEVAddRecExpr *WideAR) { in cloneArithmeticIVUser() 1103 const SCEVAddRecExpr* WidenIV::getExtendedOperandRecurrence(NarrowIVDefUse DU) { in getExtendedOperandRecurrence() 1142 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() 1143 dyn_cast<SCEVAddRecExpr>(getSCEVByOpCode(lhs, rhs, OpCode)); in getExtendedOperandRecurrence() 1154 const SCEVAddRecExpr *WidenIV::getWideRecurrence(Instruction *NarrowUse) { in getWideRecurrence() [all …]
|
D | InductiveRangeCheckElimination.cpp | 193 const SCEVAddRecExpr *IndVar, 416 const SCEVAddRecExpr *IndexAddRec = dyn_cast<SCEVAddRecExpr>(IndexSCEV); in create() 706 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in parseLoopStructure() 707 if (isa<SCEVAddRecExpr>(RightSCEV)) { in parseLoopStructure() 717 auto HasNoSignedWrap = [&](const SCEVAddRecExpr *AR) { in parseLoopStructure() 725 const SCEVAddRecExpr *ExtendAfterOp = in parseLoopStructure() 726 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure() 743 auto IsInductionVar = [&](const SCEVAddRecExpr *AR, bool &IsIncreasing) { in parseLoopStructure() 768 const SCEVAddRecExpr *IndVarNext = cast<SCEVAddRecExpr>(LeftSCEV); in parseLoopStructure() 1309 const SCEVAddRecExpr *IndVar, in computeSafeIterationSpace() [all …]
|
D | LoopStrengthReduce.cpp | 325 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch() 408 while (Try < BaseRegsSize && !isa<SCEVAddRecExpr>(ScaledReg)) in canonicalize() 509 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isAddRecSExtable() 512 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable() 569 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv() 636 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractImmediate() 662 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractSymbol() 731 static bool isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isExistingPhi() 804 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isHighCostExpansion() 929 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister() [all …]
|
D | LoopRerollPass.cpp | 475 if (const SCEVAddRecExpr *PHISCEV = in collectPossibleIVs() 476 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) { in collectPossibleIVs() 842 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(V.BaseInst)); in findRoots() 1281 const SCEVAddRecExpr *RealIVSCEV = in replace() 1282 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace() 1284 const SCEVAddRecExpr *H = cast<SCEVAddRecExpr>(SE->getAddRecExpr( in replace()
|
D | LoopLoadElimination.cpp | 78 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne() 79 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne() 375 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
|
D | AlignmentFromAssumptions.cpp | 163 } else if (const SCEVAddRecExpr *DiffARSCEV = in getNewAlignment() 164 dyn_cast<SCEVAddRecExpr>(DiffSCEV)) { in getNewAlignment()
|
D | LoopInterchange.cpp | 314 const SCEVAddRecExpr *AddRec = in getInductionVariable() 315 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(PhiVar)); in getInductionVariable() 914 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(OperandVal); in getInstrOrderCost()
|
/external/llvm/include/llvm/Analysis/ |
D | ScalarEvolutionExpressions.h | 289 class SCEVAddRecExpr : public SCEVNAryExpr { 294 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function 352 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const { in getPostIncExpr() 353 return cast<SCEVAddRecExpr>(SE.getAddExpr(this, getStepRecurrence(SE))); in getPostIncExpr() 470 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit() 603 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 682 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 693 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res); in visitAddRecExpr()
|
D | ScalarEvolutionExpander.h | 284 Value *visitAddRecExpr(const SCEVAddRecExpr *S); 300 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *); 301 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
|
D | ScalarEvolution.h | 52 class SCEVAddRecExpr; variable 778 bool isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS, 790 bool isMonotonicPredicate(const SCEVAddRecExpr *LHS,
|
/external/llvm/lib/Target/PowerPC/ |
D | PPCLoopDataPrefetch.cpp | 156 SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, 16> PrefLoads; in runOnLoop() 181 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop() 189 for (SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, in runOnLoop()
|
D | PPCLoopPreIncPrep.cpp | 214 if (const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV)) { in runOnLoop() 299 const SCEVAddRecExpr *BasePtrSCEV = in runOnLoop() 300 cast<SCEVAddRecExpr>(Buckets[i].BaseSCEV); in runOnLoop()
|
/external/llvm/test/Analysis/DependenceAnalysis/ |
D | Invariant.ll | 4 ; SCEVAddRecExpr is created in addToCoefficient.
|
/external/llvm/unittests/Analysis/ |
D | ScalarEvolutionTest.cpp | 148 const SCEVAddRecExpr *Product = in TEST_F() 149 dyn_cast<SCEVAddRecExpr>(SE.getMulExpr(A_rec, B_rec)); in TEST_F()
|
/external/llvm/lib/Transforms/Utils/ |
D | SimplifyIndVar.cpp | 506 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S); in isSimpleIVUser()
|
D | LoopUtils.cpp | 669 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PhiScev); in isInductionPHI()
|