+ }
+
+ if (arch_irn_consider_in_reg_alloc(cls, node)) {
+ ir_nodeset_remove(nodeset, node);
+ }
+}
+
+static void add_uses(ir_node *node, ir_nodeset_t *nodeset)
+{
+ int i, arity;
+
+ arity = get_irn_arity(node);
+ for(i = 0; i < arity; ++i) {
+ ir_node *op = get_irn_n(node, i);
+
+ if (arch_irn_consider_in_reg_alloc(cls, op) &&
+ !bitset_is_set(spilled_nodes, get_irn_idx(op))) {
+ ir_nodeset_insert(nodeset, op);
+ }
+ }
+}
+
+static __attribute__((unused))
+void print_nodeset(ir_nodeset_t *nodeset)
+{
+ ir_nodeset_iterator_t iter;
+ ir_node *node;
+
+ foreach_ir_nodeset(nodeset, node, iter) {
+ ir_fprintf(stderr, "%+F ", node);
+ }
+ fprintf(stderr, "\n");