Lines Matching defs:loop
5 #include "src/compiler/loop-unrolling.h"
10 #include "src/compiler/loop-analysis.h"
11 #include "src/compiler/loop-peeling.h"
17 void UnrollLoop(Node* loop_node, ZoneUnorderedSet<Node*>* loop, uint32_t depth,
22 DCHECK_NOT_NULL(loop);
23 // No back-jump to the loop header means this is not really a loop.
27 unrolling_count_heuristic(static_cast<uint32_t>(loop->size()), depth);
32 uint32_t copied_size = static_cast<uint32_t>(loop->size()) * iteration_count;
39 base::make_iterator_range(loop->begin(), loop->end()),
59 loop. ***/
101 /*** Step 2: Create merges for loop exits. ***/
111 // Replace all uses of the loop exit with the merge node.
114 if (loop->count(use) == 1) {
115 // Uses within the loop will be LoopExitEffects and
116 // LoopExitValues. We need to create a phi from all loop
139 // For uses outside the loop, simply redirect them to the merge.
148 // We only need to keep the Terminate node for the loop header of the
159 /*** Step 3: Rewire the iterations of the loop. Each iteration should flow
164 // We start at index=1 assuming that index=0 is the (non-recursive) loop
180 // The loop of each following iteration will become a merge. We need to remove
188 // 3b) Rewire phis and loop exits.
194 // Phis depending on the loop header should take their input from the
210 // (non-recursive) entry to the loop. Remove their first input.
218 // Loop exits should point to the loop header.