X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbestat.c;h=af25bb4dc4d74fc1f021173b94b23918ec759a78;hb=026ec52ac914eee06e7afb961fb754735fb4ad9f;hp=4d319940c5b963213987fcbffaa017a42593b0c8;hpb=beffbfdbf9abb9de3ff7c740836c068e6b1aa643;p=libfirm diff --git a/ir/be/bestat.c b/ir/be/bestat.c index 4d319940c..af25bb4dc 100644 --- a/ir/be/bestat.c +++ b/ir/be/bestat.c @@ -23,9 +23,7 @@ * @author Christian Wuerdig, Matthias Braun * @version $Id$ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include @@ -62,15 +60,14 @@ static void check_reg_pressure_class(pressure_walker_env_t *env, ir_node *block, const arch_register_class_t *cls) { - be_irg_t *birg = env->birg; - ir_graph *irg = be_get_birg_irg(birg); - const arch_env_t *aenv = be_get_birg_arch_env(birg); - ir_node *irn; - ir_nodeset_t live_nodes; - int max_live; + be_irg_t *birg = env->birg; + ir_graph *irg = be_get_birg_irg(birg); + ir_node *irn; + ir_nodeset_t live_nodes; + int max_live; ir_nodeset_init(&live_nodes); - be_liveness_end_of_block(env->lv, aenv, cls, block, &live_nodes); + be_liveness_end_of_block(env->lv, cls, block, &live_nodes); max_live = ir_nodeset_size(&live_nodes); env->regpressure += max_live; @@ -125,7 +122,6 @@ void be_do_stat_reg_pressure(be_irg_t *birg, const arch_register_class_t *cls) { typedef struct _estimate_irg_costs_env_t { - const arch_env_t *arch_env; ir_exec_freq *execfreqs; double costs; } estimate_irg_costs_env_t; @@ -143,11 +139,10 @@ static void estimate_block_costs(ir_node *block, void *data) env->costs += costs * get_block_execfreq(env->execfreqs, block); } -double be_estimate_irg_costs(ir_graph *irg, const arch_env_t *arch_env, ir_exec_freq *execfreqs) +double be_estimate_irg_costs(ir_graph *irg, ir_exec_freq *execfreqs) { estimate_irg_costs_env_t env; - env.arch_env = arch_env; env.execfreqs = execfreqs; env.costs = 0.0; @@ -158,11 +153,9 @@ double be_estimate_irg_costs(ir_graph *irg, const arch_env_t *arch_env, ir_exec_ -static be_node_stats_t *stats; - static void node_stat_walker(ir_node *irn, void *data) { - (void) data; + be_node_stats_t *const stats = data; /* if the node is a normal phi */ if(is_Phi(irn)) { @@ -189,10 +182,8 @@ static void node_stat_walker(ir_node *irn, void *data) void be_collect_node_stats(be_node_stats_t *new_stats, be_irg_t *birg) { - stats = new_stats; - - memset(stats, 0, sizeof(*stats)); - irg_walk_graph(birg->irg, NULL, node_stat_walker, NULL); + memset(new_stats, 0, sizeof(*new_stats)); + irg_walk_graph(birg->irg, NULL, node_stat_walker, new_stats); } void be_subtract_node_stats(be_node_stats_t *stats, be_node_stats_t *sub)