Home
last modified time | relevance | path

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

123

/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 …]
/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 …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
DScalarEvolutionNormalization.cpp43 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr);
48 NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) { in visitAddRecExpr()
100 auto Pred = [&](const SCEVAddRecExpr *AR) { in normalizeForPostIncUse()
114 auto Pred = [&](const SCEVAddRecExpr *AR) { in denormalizeForPostIncUse()
DIVUsers.cpp63 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting()
256 auto NormalizePred = [&](const SCEVAddRecExpr *AR) { in AddUsersImpl()
395 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop()
396 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop()
404 if (const SCEVAddRecExpr *AR = findAddRecForLoop(Op, L)) in findAddRecForLoop()
413 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
DScalarEvolution.cpp251 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print()
672 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in CompareSCEVComplexity()
673 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in CompareSCEVComplexity()
942 void visitAddRecExpr(const SCEVAddRecExpr *Numerator) { in visitAddRecExpr()
1204 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration()
1287 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr()
1399 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend()
1431 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend()
1454 const_cast<SCEVAddRecExpr *>(PreAR)->setNoWrapFlags(WrapType); in getPreStartForExtend()
1473 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart()
[all …]
DScalarEvolutionExpander.cpp290 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant()
316 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands()
347 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs()
631 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop()
858 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase()
1078 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed()
1079 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed()
1088 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed()
1108 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW()
1122 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW()
[all …]
DDependenceAnalysis.cpp870 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src); in checkSrcSubscript()
895 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst); in checkDstSubscript()
1013 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Bound)) { in isKnownLessThan()
1035 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in isKnownNonNegative()
2144 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV()
2145 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV()
2221 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV()
2222 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV()
2232 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV()
2233 dyn_cast<SCEVAddRecExpr>(SrcAddRec->getStart())) { in testRDIV()
[all …]
/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 …]
/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 …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Transforms/Scalar/
DLoopIdiomRecognize.cpp174 const SCEVAddRecExpr *Ev, const SCEV *BECount,
338 static APInt getStoreStride(const SCEVAddRecExpr *StoreEv) { in getStoreStride()
413 const SCEVAddRecExpr *StoreEv = in isLegalStore()
414 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore()
472 const SCEVAddRecExpr *LoadEv = in isLegalStore()
473 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore()
591 const SCEVAddRecExpr *FirstStoreEv = in processLoopStores()
592 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
627 const SCEVAddRecExpr *SecondStoreEv = in processLoopStores()
628 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
[all …]
DLoopDataPrefetch.cpp76 bool isStrideLargeEnough(const SCEVAddRecExpr *AR);
141 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR) { in isStrideLargeEnough()
251 SmallVector<std::pair<Instruction *, const SCEVAddRecExpr *>, 16> PrefLoads; in runOnLoop()
274 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
/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,
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Analysis/
DScalarEvolutionExpressions.h290 class SCEVAddRecExpr : public SCEVNAryExpr {
295 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function
353 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const;
464 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit()
652 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
741 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr()
752 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res); in visitAddRecExpr()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/PowerPC/
DPPCLoopPreIncPrep.cpp216 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV); in alreadyPrepared()
294 if (const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV)) { in runOnLoop()
392 const SCEVAddRecExpr *BasePtrSCEV = in runOnLoop()
393 cast<SCEVAddRecExpr>(Buckets[i].BaseSCEV); in runOnLoop()

123