X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedregpress.c;h=16364243cf05aafb937da0a27f4f270f00c5ff30;hb=1872920c09708b361d06c0dc9f4c1fd0a03544f5;hp=b939c8774b7fafe0a7cdcc37e98e1ecee2c27716;hpb=39f3a8dbd0f00f90b7b12a849d1bf7b9c1329479;p=libfirm diff --git a/ir/be/beschedregpress.c b/ir/be/beschedregpress.c index b939c8774..16364243c 100644 --- a/ir/be/beschedregpress.c +++ b/ir/be/beschedregpress.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -19,7 +19,7 @@ /** * @file - * @brief Regpressure node selector. + * @brief Register pressure node selector. * @author Sebastian Hack * @date 29.08.2006 * @version $Id$ @@ -32,6 +32,7 @@ #include "iredges_t.h" #include "irgwalk.h" +#include "irtools.h" #include "besched_t.h" #include "belistsched.h" @@ -173,13 +174,13 @@ static int compute_max_hops(reg_pressure_selector_env_t *env, ir_node *irn) return res; } -static void *reg_pressure_graph_init(const list_sched_selector_t *vtab, const arch_env_t *arch_env, ir_graph *irg) +static void *reg_pressure_graph_init(const list_sched_selector_t *vtab, const be_irg_t *birg) { reg_pressure_main_env_t *main_env = xmalloc(sizeof(main_env[0])); - main_env->arch_env = arch_env; + main_env->arch_env = be_get_birg_arch_env(birg); main_env->vtab = vtab; - irg_walk_graph(irg, firm_clear_link, NULL, NULL); + irg_walk_graph(be_get_birg_irg(birg), firm_clear_link, NULL, NULL); return main_env; } @@ -283,6 +284,7 @@ static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set, reg_pressure_selector_env_t *env = block_env; ir_node *irn, *res = NULL; int curr_cost = INT_MAX; + (void) live_set; assert(ir_nodeset_size(ready_set) > 0); @@ -317,7 +319,7 @@ static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set, return res; } -static const list_sched_selector_t reg_pressure_selector_struct = { +const list_sched_selector_t reg_pressure_selector = { reg_pressure_graph_init, reg_pressure_block_init, reg_pressure_select, @@ -329,5 +331,3 @@ static const list_sched_selector_t reg_pressure_selector_struct = { reg_pressure_block_free, free }; - -const list_sched_selector_t *reg_pressure_selector = ®_pressure_selector_struct;