Lines Matching refs:Unloop
416 Loop &Unloop; member in __anona6d42f2e0511::UnloopUpdater
433 : Unloop(*UL), LI(LInfo), DFS(UL), FoundIB(false) {} in UnloopUpdater()
449 if (Unloop.getNumBlocks()) { in updateBlockParents()
460 assert((NL != &Unloop && (!NL || NL->contains(&Unloop))) && in updateBlockParents()
466 assert((FoundIB || Unloop.contains(L)) && "uninitialized successor"); in updateBlockParents()
474 assert(NIters < Unloop.getNumBlocks() && "runaway iterative algorithm"); in updateBlockParents()
486 assert(NL != &Unloop && (!NL || NL->contains(&Unloop)) && in updateBlockParents()
499 for (Loop::block_iterator BI = Unloop.block_begin(), BE = Unloop.block_end(); in removeBlocksFromAncestors()
502 if (Unloop.contains(OuterParent)) { in removeBlocksFromAncestors()
503 while (OuterParent->getParentLoop() != &Unloop) in removeBlocksFromAncestors()
509 for (Loop *OldParent = Unloop.getParentLoop(); OldParent != OuterParent; in removeBlocksFromAncestors()
519 while (!Unloop.empty()) { in updateSubloopParents()
520 Loop *Subloop = *std::prev(Unloop.end()); in updateSubloopParents()
521 Unloop.removeChildLoop(std::prev(Unloop.end())); in updateSubloopParents()
543 if (NearLoop != &Unloop && Unloop.contains(NearLoop)) { in getNearestLoop()
546 while (Subloop->getParentLoop() != &Unloop) { in getNearestLoop()
551 NearLoop = SubloopParents.insert({Subloop, &Unloop}).first->second; in getNearestLoop()
564 if (L == &Unloop) { in getNearestLoop()
570 if (L != &Unloop && Unloop.contains(L)) { in getNearestLoop()
576 assert(L->getParentLoop() == &Unloop && "cannot skip into nested loops"); in getNearestLoop()
582 if (L == &Unloop) { in getNearestLoop()
586 if (L && !L->contains(&Unloop)) { in getNearestLoop()
590 if (NearLoop == &Unloop || !NearLoop || NearLoop->contains(L)) in getNearestLoop()
611 void LoopInfo::erase(Loop *Unloop) { in erase() argument
612 assert(!Unloop->isInvalid() && "Loop has already been erased!"); in erase()
614 auto InvalidateOnExit = make_scope_exit([&]() { destroy(Unloop); }); in erase()
617 if (!Unloop->getParentLoop()) { in erase()
619 for (Loop::block_iterator I = Unloop->block_begin(), in erase()
620 E = Unloop->block_end(); in erase()
624 if (getLoopFor(*I) != Unloop) in erase()
635 if (*I == Unloop) { in erase()
642 while (!Unloop->empty()) in erase()
643 addTopLevelLoop(Unloop->removeChildLoop(std::prev(Unloop->end()))); in erase()
650 UnloopUpdater Updater(Unloop, this); in erase()
660 Loop *ParentLoop = Unloop->getParentLoop(); in erase()
663 if (*I == Unloop) { in erase()