X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeilpsched.c;h=dd8fc9a17f4a6b8089c2819c3982b59aeb06a0d0;hb=cbe8608ae6f9a523d007919691104b444c92d004;hp=29e42d0c169065e5f699fb971f24cebbcb18b843;hpb=32ea6ea0320f551448bb66e534e3351977464d42;p=libfirm diff --git a/ir/be/beilpsched.c b/ir/be/beilpsched.c index 29e42d0c1..dd8fc9a17 100644 --- a/ir/be/beilpsched.c +++ b/ir/be/beilpsched.c @@ -69,6 +69,7 @@ #include "beirg.h" #include "bemachine.h" #include "belistsched.h" +#include "bemodule.h" typedef struct _ilpsched_options_t { unsigned regpress; @@ -1206,7 +1207,7 @@ static void create_assignment_and_precedence_constraints(be_ilpsched_env_t *env, /* the precedence constraints */ stat_ev_tim_push(); - bs_block_irns = bitset_clear_all(bs_block_irns); + bitset_clear_all(bs_block_irns); sta_collect_in_deps(irn, &deps); foreach_ir_nodeset(&deps, pred, iter) { @@ -2002,7 +2003,6 @@ static void create_ilp(ir_node *block, void *walk_env) void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts) { be_ilpsched_env_t env; - const char *name = "be ilp scheduling"; ir_graph *irg = be_get_birg_irg(birg); const arch_env_t *arch_env = be_get_birg_arch_env(birg); const ilp_sched_selector_t *sel = arch_env->impl->get_ilp_sched_selector(arch_env); @@ -2023,7 +2023,7 @@ void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts) env.opts = &ilp_opts; env.birg = birg; env.be_opts = be_opts; - phase_init(&env.ph, name, env.irg, PHASE_DEFAULT_GROWTH, init_ilpsched_irn, NULL); + phase_init(&env.ph, env.irg, init_ilpsched_irn); /* assign a unique per block number to all interesting nodes */ irg_walk_in_or_dep_graph(env.irg, NULL, build_block_idx, &env); @@ -2060,7 +2060,7 @@ void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts) irg_block_walk_graph(env.irg, NULL, clear_unwanted_data, &env); /* free all allocated object */ - phase_free(&env.ph); + phase_deinit(&env.ph); heights_free(env.height); /* notify backend */ @@ -2072,6 +2072,7 @@ void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts) /** * Register ILP scheduler options. */ +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_ilpsched); void be_init_ilpsched(void) { lc_opt_entry_t *be_grp = lc_opt_get_grp(firm_opt_get_root(), "be");