Lines Matching defs:loop

207   //     set the loop information on each block.
382 // Make sure that the first predecessor of a loop header is the incoming block.
400 // Transform control flow of the loop to a single preheader format (don't touch the data flow).
514 // Make sure the loop has only one pre header. This simplifies SSA building by having
516 // loop. Also, don't allow the entry block to be a pre header: this simplifies inlining
562 // NOTE: We're appending new blocks inside the loop, so we need to use index because iterators
595 // a loop got dismantled. Just remove the suspend check.
603 // `PopulateRecursive` needs this guarantee to know whether a natural loop
604 // contains an irreducible loop.
629 os << " in loop: " << idx << std::endl;
764 // If `block` is in `finalized`, we know its membership in the loop has been
772 // If we hit a loop header in an irreducible loop, we first check if the
773 // pre header of that loop belongs to the currently analyzed loop. If it does,
775 // Note that we cannot use GetPreHeader, as the loop may have not been populated
791 // Visit all predecessors. If one predecessor is part of the loop, this
792 // block is also part of this loop.
812 // Populate this loop: starting with the back edge, recursively add predecessors
813 // that are not already part of that loop. Set the header as part of the loop
831 // Stop marking blocks at the loop header.
846 // to an irreducible loop, so we need to mark the method's loops as irreducible.
849 // Just building the graph in OSR mode, this loop is not inlined. We never build an
853 // Look at the suspend check's environment to determine if the loop was inlined.
924 // Determine if this loop has at least one exit edge.
1105 // At the end of the loop pre-header, the corresponding value for instruction
1767 // Move to the first dominator not in a loop.
2079 // a loop header is removed last, a requirement for correct loop information
2091 // All other blocks in this loop should have been removed because the header
2198 // loop if this is the loop header (see definition of `loop_update_start`)
2199 // because the loop header's predecessor list has been destroyed in step (4).
2204 // If this was the last back edge of the loop, we deliberately leave the
2205 // loop in an inconsistent state and will fail GraphChecker unless the
2206 // entire loop is removed during the pass.
2345 // Clear the information of which blocks are contained in that loop. Since the
2352 // If not already in a loop, update the loop information.
2357 // If the block is in a loop, update all its outward loops.
2457 // (3) their potential loop information, inner and outer,
2517 // to any loop. Because we do not compute the post dominators, we need to re-run
2518 // loop analysis to get the loop information correct.
2547 << "Recomputing loop information in graphs with irreducible loops "
2548 << "is unsupported, as it could lead to loop header changes";
2666 // The pre_header can never be a back edge of a loop.
2683 HLoopInformation* loop = header->GetLoopInformation();
2685 // Add new loop blocks.
2725 loop->GetSuspendCheck()->GetEnvironment(), header);
2727 // Update loop information.
2731 new_pre_header->SetLoopInformation(loop->GetPreHeader()->GetLoopInformation()); // outward