Lines Matching defs:AR
815 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
816 if (!AR || AR->getLoop() != L || !AR->isAffine())
819 const SCEV *Step = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*SE));
855 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi));
857 // AR may be a pointer type, while BECount is an integer type.
858 // AR may be wider than BECount. With eq/ne tests overflow is immaterial.
859 // AR may not be a narrower type, or we may never exit.
860 uint64_t PhiWidth = SE->getTypeSizeInBits(AR->getType());
888 const SCEV *Init = AR->getStart();
921 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
922 assert(AR->getStepRecurrence(*SE)->isOne() && "only handles unit stride");
930 SE->getTypeSizeInBits(AR->getType()) >
932 const SCEV *IVInit = AR->getStart();
934 AR = cast<SCEVAddRecExpr>(SE->getTruncateExpr(AR, ExitCount->getType()));
937 const SCEVAddRecExpr *ARBase = UsePostInc ? AR->getPostIncExpr(*SE) : AR;
994 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar));
996 BO->setHasNoUnsignedWrap(AR->hasNoUnsignedWrap());
998 BO->setHasNoSignedWrap(AR->hasNoSignedWrap());
2062 LoopStandardAnalysisResults &AR,
2067 IndVarSimplify IVS(&AR.LI, &AR.SE, &AR.DT, DL, &AR.TLI, &AR.TTI, AR.MSSA,
2075 AM.getResult<ShouldRunExtraSimpleLoopUnswitch>(L, AR);
2079 if (AR.MSSA)