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

References

lib/Transforms/Scalar/IndVarSimplify.cpp
  218     const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr));
  218     const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr));
  219     const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr));
  219     const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr));
  520     SE->forgetLoop(L);
  610       if (!SE->isSCEVable(PN->getType()))
  618       SE->forgetValue(PN);
  643         const SCEV *ExitValue = SE->getSCEVAtScope(Inst, L->getParentLoop());
  645             !SE->isLoopInvariant(ExitValue, L) ||
  646             !isSafeToExpand(ExitValue, *SE)) {
  651           const SCEV *ExitCount = SE->getExitCount(L, PN->getIncomingBlock(i));
  654           if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst)))
  656               ExitValue = AddRec->evaluateAtIteration(ExitCount, *SE);
  658               !SE->isLoopInvariant(ExitValue, L) ||
  659               !isSafeToExpand(ExitValue, *SE))
 1992       IndVarSimplifyVisitor Visitor(CurrIV, SE, TTI, DT);
 1995           simplifyUsersOfIV(CurrIV, SE, DT, LI, DeadInsts, Rewriter, &Visitor);
 2003       WidenIV Widener(WideIVs.back(), LI, SE, DT, DeadInsts, HasGuards);
 2426   assert(isLoopCounter(IndVar, L, SE));
 2465     const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar));
 2473       IndVar, ExitingBB, ExitCount, UsePostInc, L, Rewriter, SE);
 2498   unsigned CmpIndVarSize = SE->getTypeSizeInBits(CmpIndVar->getType());
 2499   unsigned ExitCntSize = SE->getTypeSizeInBits(ExitCnt->getType());
 2510     const SCEV *IV = SE->getSCEV(CmpIndVar);
 2511     const SCEV *TruncatedIV = SE->getTruncateExpr(SE->getSCEV(CmpIndVar),
 2511     const SCEV *TruncatedIV = SE->getTruncateExpr(SE->getSCEV(CmpIndVar),
 2514       SE->getZeroExtendExpr(TruncatedIV, CmpIndVar->getType());
 2522         SE->getSignExtendExpr(TruncatedIV, CmpIndVar->getType());
 2704     const SCEV *ExitCount = SE->getExitCount(L, ExitingBB);
 2715   const SCEV *MaxExitCount = getMaxBackedgeTakenCount(*SE, *DT, L);
 2751     const SCEV *ExitCount = SE->getExitCount(L, ExitingBB);
 2773       SE->getWiderType(MaxExitCount->getType(), ExitCount->getType());
 2774     ExitCount = SE->getNoopOrZeroExtend(ExitCount, WiderType);
 2775     MaxExitCount = SE->getNoopOrZeroExtend(MaxExitCount, WiderType);
 2780     if (SE->isLoopEntryGuardedByCond(L, CmpInst::ICMP_ULT,
 2825   if (!SE->hasLoopInvariantBackedgeTakenCount(L))
 2831   const SCEV *ExactBTC = SE->getBackedgeTakenCount(L);
 2833       !SE->isLoopInvariant(ExactBTC, L) ||
 2834       !isSafeToExpand(ExactBTC, *SE))
 2861     const SCEV *ExitCount = SE->getExitCount(L, ExitingBB);
 2863     if (!SE->isLoopInvariant(ExitCount, L) ||
 2864         !isSafeToExpand(ExitCount, *SE))
 2940     const SCEV *ExitCount = SE->getExitCount(L, ExitingBB);
 2953         Type *WiderTy = SE->getWiderType(ECV->getType(), RHS->getType());
 2999   const SCEV *BackedgeTakenCount = SE->getBackedgeTakenCount(L);
 3003   SCEVExpander Rewriter(*SE, DL, "indvars");
 3053       const SCEV *ExitCount = SE->getExitCount(L, ExitingBB);
 3064       PHINode *IndVar = FindLoopCounter(L, ExitingBB, ExitCount, SE, DT);
 3123     SE->forgetLoop(L);
 3124     const SCEV *NewBECount = SE->getBackedgeTakenCount(L);
 3125     if (SE->getTypeSizeInBits(BackedgeTakenCount->getType()) <
 3126         SE->getTypeSizeInBits(NewBECount->getType()))
 3127       NewBECount = SE->getTruncateOrNoop(NewBECount,
 3130       BackedgeTakenCount = SE->getTruncateOrNoop(BackedgeTakenCount,