Home | History | Annotate | Download | only in compiler

Lines Matching refs:node

8 #include "src/compiler/node.h"
9 #include "src/compiler/node-marker.h"
10 #include "src/compiler/node-properties.h"
105 // Maps a node to its index in the {pairs} vector.
113 Node* map(Node* node) {
114 if (node_map.Get(node) == 0) return node;
115 return pairs->at(node_map.Get(node));
118 void Insert(Node* original, Node* copy) {
124 void CopyNodes(Graph* graph, Zone* tmp_zone, Node* dead, NodeRange nodes) {
127 for (Node* node : nodes) {
129 for (Node* input : node->inputs()) inputs.push_back(map(input));
130 Insert(node, graph->NewNode(node->op(), node->InputCount(), &inputs[0]));
134 for (Node* original : nodes) {
135 Node* copy = pairs->at(node_map.Get(original));
142 bool Marked(Node* node) { return node_map.Get(node) > 0; }
153 Node* PeeledIteration::map(Node* node) {
158 if (impl->node_pairs_[i] == node) return impl->node_pairs_[i + 1];
160 return node;
168 for (Node* node : loop_tree->LoopNodes(loop)) {
169 for (Node* use : node->uses()) {
215 Node* dead = graph->NewNode(common->Dead());
218 for (Node* node : loop_tree->HeaderNodes(loop)) {
219 peeling.Insert(node, node->InputAt(kAssumedLoopEntryIndex));
228 Node* loop_node = loop_tree->GetLoopControl(loop);
229 Node* new_entry;
238 Node* merge =
242 for (Node* node : loop_tree->HeaderNodes(loop)) {
243 if (node->opcode() == IrOpcode::kLoop) continue; // already done.
246 inputs.push_back(peeling.map(node->InputAt(1 + i)));
248 for (Node* input : inputs) {
251 const Operator* op = common->ResizeMergeOrPhi(node->op(), backedges);
252 Node* phi = graph->NewNode(op, backedges + 1, &inputs[0]);
253 node->ReplaceInput(0, phi);
262 for (Node* node : loop_tree->HeaderNodes(loop)) {
263 node->ReplaceInput(0, peeling.map(node->InputAt(0)));
275 Node* postdom = exits[0];
276 for (Node* node : rets) exits.push_back(node);
277 for (Node* use : postdom->uses()) {
284 Node* merge = graph->NewNode(common->Merge(2), postdom, peeling.map(postdom));
294 for (Node* node : range) {
296 for (Edge edge : node->use_edges()) {
314 Node* phi =
315 graph->NewNode(common->Phi(MachineRepresentation::kTagged, 2), node,
316 peeling.map(node), merge);
321 Node* effect_phi = graph->NewNode(common->EffectPhi(2), node,
322 peeling.map(node), merge);