Lines Matching refs:SCEVAddRecExpr
439 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop()
870 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed()
871 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed()
883 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed()
902 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW()
916 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW()
934 SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized, in getAddRecExprPHILiterally()
966 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally()
1112 Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) { in expandAddRecExprLiterally()
1117 const SCEVAddRecExpr *Normalized = S; in expandAddRecExprLiterally()
1121 Normalized = cast<SCEVAddRecExpr>( in expandAddRecExprLiterally()
1202 Value *SCEVExpander::visitAddRecExpr(const SCEVAddRecExpr *S) { in visitAddRecExpr()
1326 if (isa<SCEVAddRecExpr>(Ext)) in visitAddRecExpr()
1329 const SCEV *V = cast<SCEVAddRecExpr>(NewS)->evaluateAtIteration(IH, SE); in visitAddRecExpr()
1737 if (isa<SCEVAddRecExpr>(PhiExpr)) { in replaceCongruentIVs()
2047 assert(cast<SCEVAddRecExpr>(S)->getNumOperands() >= 2 && in isHighCostExpansionHelper()
2049 Cost += costAndCollectOperands<SCEVAddRecExpr>( in isHighCostExpansionHelper()
2084 Value *SCEVExpander::generateOverflowCheck(const SCEVAddRecExpr *AR, in generateOverflowCheck()
2211 const auto *A = cast<SCEVAddRecExpr>(Pred->getExpr()); in expandWrapPredicate()
2329 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in follow()