irgmod: Pass the new inputs to turn_into_tuple() instead of initialising them with...
[libfirm] / ir / be / bechordal_common.c
index 824d86d..d9bea04 100644 (file)
@@ -143,7 +143,7 @@ void create_borders(ir_node *block, void *env_ptr)
                DB((dbg, LEVEL_1, "\tinsn: %+F, pressure: %d\n", irn, pressure));
                DB((dbg, LEVEL_2, "\tlive: %B\n", live));
 
-               be_foreach_definition(irn, env->cls, def,
+               be_foreach_definition(irn, env->cls, def, req,
                        /*
                         * If the node defines some value, which can put into a
                         * register of the current class, make a border for it.
@@ -157,22 +157,18 @@ void create_borders(ir_node *block, void *env_ptr)
                 * If the node is no phi node we can examine the uses.
                 */
                if (!is_Phi(irn)) {
-                       for (int i = 0, n = get_irn_arity(irn); i < n; ++i) {
-                               ir_node *op = get_irn_n(irn, i);
-
-                               if (arch_irn_consider_in_reg_alloc(env->cls, op)) {
-                                       int nr = get_irn_idx(op);
-                                       const char *msg = "-";
-
-                                       if (!bitset_is_set(live, nr)) {
-                                               border_use(op, step, 1);
-                                               bitset_set(live, nr);
-                                               msg = "X";
-                                       }
-
-                                       DBG((dbg, LEVEL_4, "\t\t%s pos: %d, use: %+F\n", msg, i, op));
+                       be_foreach_use(irn, env->cls, in_req_, op, op_req_,
+                               unsigned idx = get_irn_idx(op);
+                               const char *msg = "-";
+
+                               if (!bitset_is_set(live, idx)) {
+                                       border_use(op, step, 1);
+                                       bitset_set(live, idx);
+                                       msg = "X";
                                }
-                       }
+
+                               DB((dbg, LEVEL_4, "\t\t%s pos: %d, use: %+F\n", msg, i_, op));
+                       );
                }
                ++step;
        }