Home | History | Annotate | Download | only in Scalar

Lines Matching defs:AddRec

839 /// operands is an AddRec for this loop, return it.
867 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(
870 if (!AddRec || AddRec->getLoop() != L)
872 return AddRec;
895 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr);
896 if (!AddRec || AddRec->getLoop() != L)
898 return AddRec;
1046 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi));
1047 if (!AddRec)
1052 SE->getSignExtendExpr(AddRec, WideType) :
1053 SE->getZeroExtendExpr(AddRec, WideType);
1059 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr);
1060 if (!AddRec || AddRec->getLoop() != L)
1063 // An AddRec must have loop-invariant operands. Since this AddRec is
1066 assert(SE->properlyDominates(AddRec->getStart(), L->getHeader()) &&
1067 SE->properlyDominates(AddRec->getStepRecurrence(*SE), L->getHeader())
1075 WidePhi = cast<PHINode>(Rewriter.expandCodeFor(AddRec, WideType, InsertPt));