- pair_up_operands(alloc_env, insn);
-
- /*
- * look at the in/out operands and add each operand (and its possible partner)
- * to a bipartite graph (left: nodes with partners, right: admissible colors).
- */
- for (i = 0, n_alloc = 0; i < insn->n_ops; ++i) {
- be_operand_t *op = &insn->ops[i];
-
- /*
- * If the operand has no partner or the partner has not been marked
+ pair_up_operands(env, insn);
+
+ /* Look at the in/out operands and add each operand (and its possible partner)
+ * to a bipartite graph (left: nodes with partners, right: admissible colors). */
+ int n_alloc = 0;
+ int const n_regs = env->cls->n_regs;
+ ir_node **const alloc_nodes = ALLOCAN(ir_node*, n_regs);
+ pmap *const partners = pmap_create();
+#if USE_HUNGARIAN
+ hungarian_problem_t *const bp = hungarian_new(n_regs, n_regs, HUNGARIAN_MATCH_PERFECT);
+#else
+ bipartite_t *const bp = bipartite_new(n_regs, n_regs);
+#endif
+ for (int i = 0; i < insn->n_ops; ++i) {
+ /* If the operand has no partner or the partner has not been marked