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

References

lib/Transforms/Utils/LoopUnroll.cpp
  282   BasicBlock *Preheader = L->getLoopPreheader();
  288   BasicBlock *LatchBlock = L->getLoopLatch();
  295   if (!L->isSafeToClone()) {
  304   BasicBlock *Header = L->getHeader();
  311                                  L->getExitingBlock() != Header))) {
  319            !L->contains(BI->getSuccessor(S2));
  332            L->contains(HeaderBI->getSuccessor(S1)) &&
  333            !L->contains(HeaderBI->getSuccessor(S2));
  373   L->getExitBlocks(ExitBlocks);
  374   std::vector<BasicBlock*> OriginalLoopBlocks = L->getBlocks();
  399     Peeled = peelLoop(L, ULO.PeelCount, LI, SE, DT, AC, PreserveLCSSA);
  407       BasicBlock *ExitingBlock = L->getLoopLatch();
  409       assert(L->isLoopExiting(ExitingBlock) && "Latch is not exiting?");
  410       Preheader = L->getLoopPreheader();
  411       ULO.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock);
  412       ULO.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock);
  421         for (auto &BB : L->blocks())
  432                                               : isEpilogProfitable(L);
  435       !UnrollRuntimeLoopRemainder(L, ULO.Count, ULO.AllowExpensiveTripCount,
  466         return OptimizationRemark(DEBUG_TYPE, "FullyUnrolled", L->getStartLoc(),
  467                                   L->getHeader())
  476         return OptimizationRemark(DEBUG_TYPE, "Peeled", L->getStartLoc(),
  477                                   L->getHeader())
  483       OptimizationRemark Diag(DEBUG_TYPE, "PartialUnrolled", L->getStartLoc(),
  484                               L->getHeader());
  527       SE->forgetTopmostLoop(L);
  534     ContinueOnTrue = L->contains(BI->getSuccessor(0));
  538     ContinueOnTrue = L->contains(HeaderBI->getSuccessor(0));
  558     if (Term->isUnconditional() || L->contains(Term->getSuccessor(0))) {
  559       assert(L->contains(Term->getSuccessor(0)));
  562       assert(L->contains(Term->getSuccessor(1)));
  570   LoopBlocksDFS DFS(L);
  577   std::vector<BasicBlock*> UnrolledLoopBlocks = L->getBlocks();
  584   for (Loop *SubLoop : *L)
  588     for (BasicBlock *BB : L->getBlocks())
  604     NewLoops[L] = L;
  604     NewLoops[L] = L;
  611       assert((*BB != Header || LI->getLoopFor(*BB) == L) &&
  625             if (It > 1 && L->contains(InValI))
  639         if (L->contains(Succ))
  704         if (L->contains(InValI))
  834         if (!L->contains(ChildBB))
  898   simplifyLoopAfterUnroll(L, !CompletelyUnroll && (ULO.Count > 1 || Peeled), LI,
  904   Loop *OuterL = L->getParentLoop();
  907     LI->erase(L);