Lines Matching refs:nodes
112 * nodes in a given set interfere. Merging two sets or checking for
114 * two lists of nodes.
125 struct exec_list nodes;
138 foreach_list_typed(merge_node, node, node, &set->nodes) {
161 exec_list_make_empty(&set->nodes);
169 exec_list_push_head(&set->nodes, &node->node);
197 struct exec_node *an = exec_list_get_head(&a->nodes);
198 struct exec_node *bn = exec_list_get_head(&b->nodes);
231 /* List of all the nodes which dominate the current node, in dominance
237 struct exec_node *an = exec_list_get_head(&a->nodes);
238 struct exec_node *bn = exec_list_get_head(&b->nodes);
266 * dominating nodes as a simple stack, pushing every node onto the list
267 * after we visit it and popping any non-dominating nodes off before we
277 * 2. None of the nodes processed up until this point interfere.
352 /** Isolate phi nodes with parallel copies
355 * destinations of phi nodes, we first isolate them by adding parallel
357 * phi nodes, we add a parallel copy immediately following the last phi
358 * node that copies the destinations of all of the phi nodes to new SSA
360 * a successor with phi nodes that, for each phi node in each successor,
367 * following the phi nodes and. Thanks to the parallel copy at the end of
368 * the predecessor block, the sources of phi nodes are are the only use of
385 /* Phi nodes only ever come at the start of a block */
396 /* If we have phi nodes, we need to create a parallel copy at the
397 * start of this block but after the phi nodes.
404 /* Phi nodes only ever come at the start of a block */
455 /* Phi nodes only ever come at the start of a block */
518 /* Phi nodes only ever come at the start of a block */
614 * remove phi nodes.
845 /* At this point, we have removed all of the phi nodes. If a parallel
846 * copy existed right after the phi nodes in this block, it is now the
977 /** Lower all of the phi nodes in a block to movs to and from a register
1100 * result in phi nodes with register sources which is technically invalid.