X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeilpsched.c;h=a6a3eb42fb8ab9b7322a8b30e1296cf13a3bc7a4;hb=205396c4f4f5abe7abd6dc2350c8c398a7623afc;hp=a6b9d889382b1ab0c9be5a64882bcc2ef5a880c0;hpb=d16d39df6772995a29ecdc8de1904ccb2e523599;p=libfirm diff --git a/ir/be/beilpsched.c b/ir/be/beilpsched.c index a6b9d8893..a6a3eb42f 100644 --- a/ir/be/beilpsched.c +++ b/ir/be/beilpsched.c @@ -48,6 +48,7 @@ #include "beilpsched.h" #include "beutil.h" #include "bestat.h" +#include "beirg_t.h" typedef struct _ilpsched_options_t { unsigned regpress; @@ -1996,9 +1997,11 @@ 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"; - arch_isa_t *isa = birg->main_env->arch_env->isa; - const ilp_sched_selector_t *sel = isa->impl->get_ilp_sched_selector(isa); + 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 arch_isa_t *isa = arch_env->isa; + const ilp_sched_selector_t *sel = isa->impl->get_ilp_sched_selector(isa); FIRM_DBG_REGISTER(env.dbg, "firm.be.sched.ilp"); @@ -2011,13 +2014,13 @@ void be_ilp_sched(const be_irg_t *birg, be_options_t *be_opts) { // firm_dbg_set_mask(env.dbg, 1); - env.irg_env = be_ilp_sched_init_irg_ilp_schedule(sel, birg->irg); + env.irg_env = be_ilp_sched_init_irg_ilp_schedule(sel, irg); env.sel = sel; - env.irg = birg->irg; - env.height = heights_new(birg->irg); + env.irg = irg; + env.height = heights_new(irg); env.main_env = birg->main_env; - env.arch_env = birg->main_env->arch_env; - env.cpu = arch_isa_get_machine(birg->main_env->arch_env->isa); + env.arch_env = arch_env; + env.cpu = arch_isa_get_machine(arch_env->isa); env.opts = &ilp_opts; env.birg = birg; env.be_opts = be_opts;