Lines Matching refs:SCEVAddRecExpr
343 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant()
369 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands()
400 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs()
689 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop()
931 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase()
1147 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed()
1148 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed()
1161 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed()
1180 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW()
1194 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW()
1212 SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized, in getAddRecExprPHILiterally()
1246 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally()
1403 Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) { in expandAddRecExprLiterally()
1410 const SCEVAddRecExpr *Normalized = S; in expandAddRecExprLiterally()
1414 Normalized = cast<SCEVAddRecExpr>(normalizeForPostIncUse(S, Loops, SE)); in expandAddRecExprLiterally()
1423 Normalized = cast<SCEVAddRecExpr>( in expandAddRecExprLiterally()
1443 cast<SCEVAddRecExpr>(SE.getAddRecExpr( in expandAddRecExprLiterally()
1558 Value *SCEVExpander::visitAddRecExpr(const SCEVAddRecExpr *S) { in visitAddRecExpr()
1696 if (isa<SCEVAddRecExpr>(Ext)) in visitAddRecExpr()
1699 const SCEV *V = cast<SCEVAddRecExpr>(NewS)->evaluateAtIteration(IH, SE); in visitAddRecExpr()
2460 assert(cast<SCEVAddRecExpr>(S)->getNumOperands() >= 2 && in isHighCostExpansionHelper()
2462 Cost += costAndCollectOperands<SCEVAddRecExpr>( in isHighCostExpansionHelper()
2498 Value *SCEVExpander::generateOverflowCheck(const SCEVAddRecExpr *AR, in generateOverflowCheck()
2600 const auto *A = cast<SCEVAddRecExpr>(Pred->getExpr()); in expandWrapPredicate()
2701 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in follow()