adapted to new callback
[libfirm] / ir / be / bespillbelady.c
index 0742f4a..169a897 100644 (file)
@@ -619,14 +619,14 @@ void be_spill_belady_spill_env(const be_chordal_env_t *chordal_env, spill_env_t
        belady_env_t env;
 
        FIRM_DBG_REGISTER(dbg, "firm.be.spill.belady");
-       //firm_dbg_set_mask(dbg, DBG_WSETS);
+       //firm_dbg_set_mask(dbg, DBG_START);
 
        /* init belady env */
        obstack_init(&env.ob);
        env.cenv      = chordal_env;
        env.arch      = chordal_env->birg->main_env->arch_env;
        env.cls       = chordal_env->cls;
-       env.n_regs    = arch_count_non_ignore_regs(env.arch, env.cls);
+       env.n_regs    = env.cls->n_regs - be_put_ignore_regs(chordal_env->birg, chordal_env->cls, NULL);
        env.ws        = new_workset(&env, &env.ob);
        env.uses      = be_begin_uses(chordal_env->irg, chordal_env->lv, chordal_env->birg->main_env->arch_env, env.cls);
        if(spill_env == NULL) {
@@ -648,9 +648,6 @@ void be_spill_belady_spill_env(const be_chordal_env_t *chordal_env, spill_env_t
        /* Insert spill/reload nodes into the graph and fix usages */
        be_insert_spills_reloads(env.senv);
 
-       be_remove_dead_nodes_from_schedule(chordal_env->irg);
-       be_liveness_recompute(chordal_env->lv);
-
        /* clean up */
        if(spill_env == NULL)
                be_delete_spill_env(env.senv);