Add temporary fix for conv-problems
[libfirm] / ir / be / beilpsched.c
index 29e42d0..dd8fc9a 100644 (file)
@@ -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");