Home | History | Annotate | Download | only in src

Lines Matching refs:loop

242     // This is a degenerated loop.
247 // Only the first entry into the loop is from outside the loop. All other
257 // Only loop header blocks can have a predecessor added after
321 // loop. Exploit the fact that blocks are sorted in reverse post order. When
322 // the loop is visited in increasing block id order, if the number of
323 // non-loop-exiting successor edges at the dominator_candidate block doesn't
325 // path from the loop header to any block with higher id that doesn't go
344 // If more successors than predecessors have been seen in the loop up to
347 // that those paths through loop that don't go through the current block
348 // contain all of the loop's dependencies. Also be careful to record
349 // dominator information about the current loop that's being processed,
361 // Only count successors that remain inside the loop and don't loop back
362 // to a loop header.
365 // Backwards edges must land on loop headers.
763 void HGraph::PostorderLoopBlocks(HLoopInformation* loop,
767 for (int i = 0; i < loop->blocks()->length(); ++i) {
768 HBasicBlock* b = loop->blocks()->at(i);
772 if (b->IsLoopHeader() && b != loop->loop_header()) {
812 // Only the first predecessor of a loop header is from outside the loop.
813 // All others are back edges, and thus cannot dominate the loop header.
1336 // For each loop block walk the dominator tree from the backwards branch to
1337 // the loop header. If a call instruction is encountered the backwards branch
1355 // Done when the loop header is processed.
1452 // A map of loop header block IDs to their loop's side effects.
1474 // The Analyze phase of GVN can be called multiple times. Clear loop side
1497 // Loop headers are part of their loop.
1502 // Propagate loop side effects upwards.
1518 TraceGVN("Try loop invariant motion for block B%d effects=0x%x\n",
1543 TraceGVN("Loop invariant motion for B%d depends_flags=0x%x\n",
1552 "loop kills 0x%X\n",
1559 // It's possible to hoist transitions out of a loop as long as the
1588 // It's possible to hoist transition from the current loop loop only if
1589 // they dominate all of the successor blocks in the same loop and there
1591 // between it and the beginning of the loop header.
1610 TraceGVN("Hoisting loop invariant instruction %d\n", instr->id());
1611 // Move the instruction out of the loop.
1666 block->IsLoopHeader() ? " (loop header)" : "");
1668 // If this is a loop header kill everything killed by the loop.
1831 // If a non-loop phi has tagged uses, don't convert it to untagged.
1956 // Update phis of the loop header now after the whole loop body is
2544 // Perform common subexpression elimination and loop-invariant code motion.
3034 // 3. Loop over the clauses and the linked list of tests in lockstep,
4386 // variables (e.g. initialization inside a loop).
7927 ? "dom-loop-succ"