reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/IndVarSimplify.cpp
 2334   assert(isLoopCounter(IndVar, L, SE));
 2335   const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar));
 2350     Type *OfsTy = SE->getEffectiveSCEVType(IVInit->getType());
 2351     const SCEV *IVOffset = SE->getTruncateOrZeroExtend(ExitCount, OfsTy);
 2353       IVOffset = SE->getAddExpr(IVOffset, SE->getOne(OfsTy));
 2353       IVOffset = SE->getAddExpr(IVOffset, SE->getOne(OfsTy));
 2356     assert(SE->isLoopInvariant(IVOffset, L) &&
 2361     assert(SE->getSizeOfExpr(IntegerType::getInt64Ty(IndVar->getContext()),
 2366     const SCEV *IVLimit = SE->getAddExpr(IVInit, IVOffset);
 2381     assert(AR->getStepRecurrence(*SE)->isOne() && "only handles unit stride");
 2390     if (SE->getTypeSizeInBits(IVInit->getType())
 2391         > SE->getTypeSizeInBits(ExitCount->getType())) {
 2393         ExitCount = SE->getZeroExtendExpr(ExitCount, IVInit->getType());
 2395         IVInit = SE->getTruncateExpr(IVInit, ExitCount->getType());
 2398     const SCEV *IVLimit = SE->getAddExpr(IVInit, ExitCount);
 2401       IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType()));
 2401       IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType()));
 2404     assert(SE->isLoopInvariant(IVLimit, L) &&