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 */
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;
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);
/*
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));
}
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);
}
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);
}