Home
last modified time | relevance | path

Searched refs:SCEVAddRecExpr (Results 1 – 25 of 40) sorted by relevance

12

/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DLoopIdiomRecognize.cpp88 const SCEVAddRecExpr *Ev,
91 const SCEVAddRecExpr *StoreEv,
92 const SCEVAddRecExpr *LoadEv,
283 const SCEVAddRecExpr *StoreEv = in processLoopStore()
284 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStore()
314 const SCEVAddRecExpr *LoadEv = in processLoopStore()
315 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getOperand(0))); in processLoopStore()
341 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
442 Instruction *TheStore, const SCEVAddRecExpr *Ev, in processLoopStridedStore()
550 const SCEVAddRecExpr *StoreEv, in processLoopStoreOfLoopLoad()
[all …]
DIndVarSimplify.cpp614 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in isSafe()
842 const SCEVAddRecExpr *GetWideRecurrence(Instruction *NarrowUse);
844 const SCEVAddRecExpr* GetExtendedOperandRecurrence(NarrowIVDefUse DU);
927 const SCEVAddRecExpr* WidenIV::GetExtendedOperandRecurrence(NarrowIVDefUse DU) { in GetExtendedOperandRecurrence()
949 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>( in GetExtendedOperandRecurrence()
963 const SCEVAddRecExpr *WidenIV::GetWideRecurrence(Instruction *NarrowUse) { in GetWideRecurrence()
978 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in GetWideRecurrence()
1032 const SCEVAddRecExpr *WideAddRec = GetWideRecurrence(DU.NarrowUse); in WidenIVUse()
1104 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in CreateWideIV()
1117 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr); in CreateWideIV()
[all …]
DLoopStrengthReduce.cpp271 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch()
414 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isAddRecSExtable()
417 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable()
475 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv()
547 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractImmediate()
574 } else if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in ExtractSymbol()
731 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister()
784 !(isa<SCEVAddRecExpr>(Reg) && in RateRegister()
785 (isa<SCEVUnknown>(cast<SCEVAddRecExpr>(Reg)->getStart()) || in RateRegister()
786 isa<SCEVConstant>(cast<SCEVAddRecExpr>(Reg)->getStart())))) in RateRegister()
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DIVUsers.cpp51 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting()
241 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop()
242 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop()
251 if (const SCEVAddRecExpr *AR = findAddRecForLoop(*I, L)) in findAddRecForLoop()
260 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
DScalarEvolution.cpp155 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print()
522 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in compare()
523 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in compare()
772 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration()
856 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr()
923 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Op)) in getZeroExtendExpr()
967 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
984 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
1004 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNUW); in getZeroExtendExpr()
1019 const_cast<SCEVAddRecExpr *>(AR)->setNoWrapFlags(SCEV::FlagNW); in getZeroExtendExpr()
[all …]
DScalarEvolutionExpander.cpp261 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant()
287 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands()
318 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs()
639 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop()
829 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase()
936 SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized, in getAddRecExprPHILiterally()
1066 Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) { in expandAddRecExprLiterally()
1073 const SCEVAddRecExpr *Normalized = S; in expandAddRecExprLiterally()
1078 cast<SCEVAddRecExpr>(TransformForPostIncUse(Normalize, S, 0, 0, in expandAddRecExprLiterally()
1088 Normalized = cast<SCEVAddRecExpr>( in expandAddRecExprLiterally()
[all …]
DScalarEvolutionNormalization.cpp107 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in TransformImpl()
154 Result = cast<SCEVAddRecExpr>(Result)->getPostIncExpr(SE); in TransformImpl()
DScalarEvolutionAliasAnalysis.cpp91 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
/external/llvm/lib/Analysis/
DIVUsers.cpp56 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting()
337 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop()
338 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop()
347 if (const SCEVAddRecExpr *AR = findAddRecForLoop(*I, L)) in findAddRecForLoop()
356 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
DScalarEvolution.cpp164 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print()
547 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in compare()
548 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in compare()
784 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) { in visitAddRecExpr()
1047 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration()
1132 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr()
1241 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend()
1273 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend()
1296 const_cast<SCEVAddRecExpr *>(PreAR)->setNoWrapFlags(WrapType); in getPreStartForExtend()
1315 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart()
[all …]
DScalarEvolutionExpander.cpp277 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant()
303 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands()
334 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs()
613 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop()
802 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase()
1023 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed()
1024 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed()
1033 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed()
1053 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW()
1067 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW()
[all …]
DDependenceAnalysis.cpp855 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src); in checkSrcSubscript()
880 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst); in checkDstSubscript()
2078 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV()
2079 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV()
2155 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV()
2156 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV()
2166 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV()
2167 dyn_cast<SCEVAddRecExpr>(SrcAddRec->getStart())) { in testRDIV()
2179 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV()
2180 dyn_cast<SCEVAddRecExpr>(DstAddRec->getStart())) { in testRDIV()
[all …]
DScalarEvolutionAliasAnalysis.cpp96 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
DScalarEvolutionNormalization.cpp107 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in TransformImpl()
/external/llvm/lib/Transforms/Scalar/
DLoopIdiomRecognize.cpp119 const SCEVAddRecExpr *Ev, const SCEV *BECount,
289 static APInt getStoreStride(const SCEVAddRecExpr *StoreEv) { in getStoreStride()
356 const SCEVAddRecExpr *StoreEv = in isLegalStore()
357 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore()
409 const SCEVAddRecExpr *LoadEv = in isLegalStore()
410 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore()
522 const SCEVAddRecExpr *FirstStoreEv = in processLoopStores()
523 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
558 const SCEVAddRecExpr *SecondStoreEv = in processLoopStores()
559 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
[all …]
DLoopDataPrefetch.cpp94 bool isStrideLargeEnough(const SCEVAddRecExpr *AR);
134 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR) { in isStrideLargeEnough()
218 SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, 16> PrefLoads; in runOnLoop()
243 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
DIndVarSimplify.cpp916 Instruction *cloneIVUser(NarrowIVDefUse DU, const SCEVAddRecExpr *WideAR);
918 const SCEVAddRecExpr *WideAR);
921 const SCEVAddRecExpr *getWideRecurrence(Instruction *NarrowUse);
923 const SCEVAddRecExpr* getExtendedOperandRecurrence(NarrowIVDefUse DU);
965 const SCEVAddRecExpr *WideAR) { in cloneIVUser()
1016 const SCEVAddRecExpr *WideAR) { in cloneArithmeticIVUser()
1123 const SCEVAddRecExpr* WidenIV::getExtendedOperandRecurrence(NarrowIVDefUse DU) { in getExtendedOperandRecurrence()
1162 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence()
1163 dyn_cast<SCEVAddRecExpr>(getSCEVByOpCode(lhs, rhs, OpCode)); in getExtendedOperandRecurrence()
1174 const SCEVAddRecExpr *WidenIV::getWideRecurrence(Instruction *NarrowUse) { in getWideRecurrence()
[all …]
DInductiveRangeCheckElimination.cpp188 const SCEVAddRecExpr *IndVar) const;
370 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond()
677 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in parseLoopStructure()
678 if (isa<SCEVAddRecExpr>(RightSCEV)) { in parseLoopStructure()
688 auto HasNoSignedWrap = [&](const SCEVAddRecExpr *AR) { in parseLoopStructure()
696 const SCEVAddRecExpr *ExtendAfterOp = in parseLoopStructure()
697 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure()
714 auto IsInductionVar = [&](const SCEVAddRecExpr *AR, bool &IsIncreasing) { in parseLoopStructure()
739 const SCEVAddRecExpr *IndVarNext = cast<SCEVAddRecExpr>(LeftSCEV); in parseLoopStructure()
1280 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar) const { in computeSafeIterationSpace()
[all …]
DLoopStrengthReduce.cpp325 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()
715 static bool isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isExistingPhi()
788 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isHighCostExpansion()
913 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Reg)) { in RateRegister()
[all …]
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/
DScalarEvolutionExpressions.h292 class SCEVAddRecExpr : public SCEVNAryExpr {
297 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function
355 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const { in getPostIncExpr()
356 return cast<SCEVAddRecExpr>(SE.getAddExpr(this, getStepRecurrence(SE))); in getPostIncExpr()
360 static inline bool classof(const SCEVAddRecExpr *S) { return true; } in classof()
478 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit()
DScalarEvolutionExpander.h224 Value *visitAddRecExpr(const SCEVAddRecExpr *S);
242 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *);
243 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
/external/llvm/include/llvm/Analysis/
DScalarEvolutionExpressions.h280 class SCEVAddRecExpr : public SCEVNAryExpr {
285 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function
343 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const { in getPostIncExpr()
344 return cast<SCEVAddRecExpr>(SE.getAddExpr(this, getStepRecurrence(SE))); in getPostIncExpr()
457 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit()
586 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
665 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
676 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res); in visitAddRecExpr()
DScalarEvolutionExpander.h212 Value *generateOverflowCheck(const SCEVAddRecExpr *AR, Instruction *Loc,
341 Value *visitAddRecExpr(const SCEVAddRecExpr *S);
357 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *);
358 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
DScalarEvolution.h51 class SCEVAddRecExpr; variable
344 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
347 const SCEVAddRecExpr *AR;
352 const SCEVAddRecExpr *AR,
1109 SCEV::NoWrapFlags proveNoWrapViaConstantRanges(const SCEVAddRecExpr *AR);
1111 bool isMonotonicPredicateImpl(const SCEVAddRecExpr *LHS,
1123 bool isMonotonicPredicate(const SCEVAddRecExpr *LHS,
1630 getWrapPredicate(const SCEVAddRecExpr *AR,
1638 const SCEVAddRecExpr *
1745 const SCEVAddRecExpr *getAsAddRec(Value *V);
/external/llvm/lib/Target/PowerPC/
DPPCLoopPreIncPrep.cpp217 if (const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV)) { in runOnLoop()
302 const SCEVAddRecExpr *BasePtrSCEV = in runOnLoop()
303 cast<SCEVAddRecExpr>(Buckets[i].BaseSCEV); in runOnLoop()

12