used new be_set_spill_env_dbg_module()
[libfirm] / ir / be / belower.c
index 36c7aff..ae3db13 100644 (file)
@@ -43,7 +43,7 @@
 typedef struct _lower_env_t {
        be_chordal_env_t  *chord_env;
        int                do_copy;
-       firm_dbg_module_t *dbg_module;
+       DEBUG_ONLY(firm_dbg_module_t *dbg_module;)
 } lower_env_t;
 
 /* holds a perm register pair */
@@ -248,7 +248,6 @@ static perm_cycle_t *get_perm_cycle(perm_cycle_t *cycle, reg_pair_t *pairs, int
 static void lower_perm_node(ir_node *irn, void *walk_env) {
        const arch_register_class_t *reg_class;
        const arch_env_t            *arch_env;
-       firm_dbg_module_t           *mod;
        lower_env_t     *env = walk_env;
        reg_pair_t      *pairs;
        const ir_edge_t *edge;
@@ -257,10 +256,11 @@ static void lower_perm_node(ir_node *irn, void *walk_env) {
        ir_node         *sched_point, *block, *in[2];
        ir_node         *arg1, *arg2, *res1, *res2;
        ir_node         *cpyxchg = NULL;
+       DEBUG_ONLY(firm_dbg_module_t *mod;)
 
        arch_env = env->chord_env->birg->main_env->arch_env;
        do_copy  = env->do_copy;
-       mod      = env->dbg_module;
+       DEBUG_ONLY(mod = env->dbg_module;)
        block    = get_nodes_block(irn);
 
        /*
@@ -506,8 +506,8 @@ static void gen_assure_different_pattern(ir_node *irn, be_irg_t *birg, ir_node *
        const arch_env_t          *arch_env = birg->main_env->arch_env;
        ir_node                   *in[2], *keep, *cpy, *temp;
        ir_node                   *block = get_nodes_block(irn);
-       firm_dbg_module_t         *mod   = firm_dbg_register("firm.be.lower");
        const arch_register_class_t *cls = arch_get_irn_reg_class(arch_env, other_different, -1);
+       FIRM_DBG_REGISTER(firm_dbg_module_t *mod, "firm.be.lower");
 
        if (arch_irn_is(arch_env, other_different, ignore) || ! mode_is_datab(get_irn_mode(other_different))) {
                DBG((mod, LEVEL_1, "ignore constraint for %+F because other_irn is ignore or not a datab node\n", irn));
@@ -536,6 +536,7 @@ static void gen_assure_different_pattern(ir_node *irn, be_irg_t *birg, ir_node *
        }
        else {
                keep = be_new_CopyKeep_single(cls, birg->irg, block, cpy, irn, get_irn_mode(other_different));
+               be_node_set_reg_class(keep, 1, cls);
                edges_reroute(other_different, keep, birg->irg);
        }
 
@@ -634,7 +635,7 @@ void lower_nodes_after_ra(be_chordal_env_t *chord_env, int do_copy) {
 
        env.chord_env  = chord_env;
        env.do_copy    = do_copy;
-       env.dbg_module = firm_dbg_register("firm.be.lower");
+       FIRM_DBG_REGISTER(env.dbg_module, "firm.be.lower");
 
        irg_walk_blkwise_graph(chord_env->irg, NULL, lower_nodes_after_ra_walker, &env);
 }