Lines Matching refs:AR
1370 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
1371 if (!AR || AR->getLoop() != L || !AR->isAffine())
1374 // AR may be a pointer type, while BECount is an integer type.
1375 // AR may be wider than BECount. With eq/ne tests overflow is immaterial.
1376 // AR may not be a narrower type, or we may never exit.
1377 uint64_t PhiWidth = SE->getTypeSizeInBits(AR->getType());
1381 const SCEV *Step = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*SE));
1403 const SCEV *Init = AR->getStart();
1432 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
1433 assert(AR && AR->getLoop() == L && AR->isAffine() && "bad loop counter");
1434 const SCEV *IVInit = AR->getStart();
1453 assert(AR->getStart() == SE->getSCEV(GEPBase) && "bad loop counter");
1477 if (AR->getStart()->isZero())
1480 assert(AR->getStepRecurrence(*SE)->isOne() && "only handles unit stride");
1481 const SCEV *IVInit = AR->getStart();
1758 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(BackedgeTakenCount);
1759 if (!AR || AR->getLoop()->getLoopPreheader())