Lines Matching refs:Peeling
7 #include "src/compiler/loop-peeling.h"
13 // Loop peeling is an optimization that copies the body of a loop, creating
104 struct Peeling {
110 Peeling(Graph* graph, Zone* tmp_zone, size_t max, NodeVector* p)
213 Peeling peeling(graph, tmp_zone, estimated_peeled_size, &iter->node_pairs_);
219 peeling.Insert(node, node->InputAt(kAssumedLoopEntryIndex));
223 peeling.CopyNodes(graph, tmp_zone, dead, loop_tree->BodyNodes(loop));
236 inputs.push_back(peeling.map(loop_node->InputAt(i)));
246 inputs.push_back(peeling.map(node->InputAt(1 + i)));
261 // peeling.
263 node->ReplaceInput(0, peeling.map(node->InputAt(0)));
265 new_entry = peeling.map(loop_node->InputAt(1));
273 // Currently we are limited to peeling loops with a single exit. The exit is
282 peeling.CopyNodes(graph, tmp_zone, dead, exit_range);
284 Node* merge = graph->NewNode(common->Merge(2), postdom, peeling.map(postdom));
297 if (!peeling.Marked(edge.from())) {
316 peeling.map(node), merge);
322 peeling.map(node), merge);