#include "beutil.h"
#include "bechordal_t.h"
#include "bearch.h"
+#include "belive_t.h"
#include "benode_t.h"
#include "besched_t.h"
static firm_dbg_module_t *dbg = NULL;
#define DEBUG_LVL SET_LEVEL_0
-
+#undef DUMP_GRAPHS
#define get_chordal_arch(ce) ((ce)->session_env->main_env->arch_env)
#define get_reg(irn) arch_get_irn_register(get_chordal_arch(chordal_env), irn, 0)
ir_node *pred_bl = get_Block_cfgpred_block(bl, i);
ir_node *phi, *perm, *insert_after;
ir_node **in;
- int j, n_projs = 0;
+ int n_projs = 0;
pmap_entry *ent;
pmap *arg_map = pmap_create();
ir_node *arg = get_irn_n(phi, i);
ir_node *proj = pmap_get(arg_map, arg);
- if(!proj && !nodes_interfere(chordal_env, phi, arg)) {
+ if(!proj && !is_live_in(bl, arg)) {
proj = new_r_Proj(irg, pred_bl, dummy, get_irn_mode(arg), n_projs++);
pmap_insert(arg_map, arg, proj);
}
build_phi_rings(chordal_env);
insert_all_perms(chordal_env);
+#ifdef DUMP_GRAPHS
dump_ir_block_graph_sched(irg, "-ssa_destr_perms_placed");
-
+#endif
set_regs_or_place_dupls(chordal_env);
+#ifdef DUMP_GRAPHS
dump_ir_block_graph_sched(irg, "-ssa_destr_regs_set");
+#endif
pmap_destroy(perm_map);
}