Home | History | Annotate | Download | only in Analysis

Lines Matching refs:Subloop

404   // subloop's new parent will be the nearest loop reachable from either its own
447 // Or the current block is part of a subloop, in which case its parent
484 // If this block is an immediate subloop, remove all blocks (including
486 // Otherwise, if this block is in a nested subloop, skip it.
506 Loop *Subloop = *llvm::prior(Unloop->end());
509 assert(SubloopParents.count(Subloop) && "DFS failed to visit subloop");
510 if (SubloopParents[Subloop])
511 SubloopParents[Subloop]->addChildLoop(Subloop);
513 LI->addTopLevelLoop(Subloop);
518 /// successors. If a successor is a subloop header, consider its parent to be
519 /// the nearest parent of the subloop's exits.
521 /// For subloop blocks, simply update SubloopParents and return NULL.
528 Loop *Subloop = 0;
530 Subloop = NearLoop;
531 // Find the subloop ancestor that is directly contained within Unloop.
532 while (Subloop->getParentLoop() != Unloop) {
533 Subloop = Subloop->getParentLoop();
534 assert(Subloop && "subloop is not an ancestor of the original loop");
536 // Get the current nearest parent of the Subloop exits, initially Unloop.
537 if (!SubloopParents.count(Subloop))
538 SubloopParents[Subloop] = Unloop;
539 NearLoop = SubloopParents[Subloop];
544 assert(!Subloop && "subloop blocks must have a successor");
559 // Successor is in a subloop.
560 if (Subloop)
563 // BB branches from the original into a subloop header.
566 // Get the current nearest parent of the Subloop's exits.
577 // Remember the nearest parent loop among successors or subloop exits.
581 if (Subloop) {
582 SubloopParents[Subloop] = NearLoop;