assert(is_Proj(proj));
- if(values_interfere(proj, irn)) {
+ if(values_interfere(proj, irn) && !pmap_contains(partners, proj)) {
assert(n_alloc < n_regs);
alloc_nodes[n_alloc] = proj;
pmap_insert(partners, proj, NULL);
static void constraints(ir_node *bl, void *data)
{
be_chordal_alloc_env_t *env = data;
- firm_dbg_module_t *dbg = firm_dbg_register("firm.be.chordal.constr");
arch_env_t *arch_env = env->chordal_env->birg->main_env->arch_env;
+ FIRM_DBG_REGISTER(firm_dbg_module_t *dbg, "firm.be.chordal.constr");
/*
Start silent in the start block.
env.in_colors = bitset_alloca(colors_n);
env.ignore_regs = bitset_alloca(colors_n);
env.pre_colored = pset_new_ptr_default();
- env.constr_dbg = firm_dbg_register("firm.be.chordal.constr");
+ FIRM_DBG_REGISTER(env.constr_dbg, "firm.be.chordal.constr");
for(i = 0; i < colors_n; ++i)
if(arch_register_type_is(&chordal_env->cls->regs[i], ignore))