X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedregpress.c;h=49357c29a7d9e259c66e11e604baff36c5d021f2;hb=0f758eda285960164141e7e2d81f00f898f2ae7e;hp=c2f06b40a302aca4926472ca6a161313d4d407ce;hpb=806e4c72b332bd4f184c896decd3395fefeabbf8;p=libfirm diff --git a/ir/be/beschedregpress.c b/ir/be/beschedregpress.c index c2f06b40a..49357c29a 100644 --- a/ir/be/beschedregpress.c +++ b/ir/be/beschedregpress.c @@ -152,8 +152,6 @@ static int compute_max_hops(reg_pressure_selector_env_t *env, ir_node *irn) ir_graph *irg = get_irn_irg(bl); int res = 0; - const ir_edge_t *edge; - foreach_out_edge(irn, edge) { ir_node *user = get_edge_src_irn(edge); unsigned visited_nr = get_irg_visited(irg) + 1; @@ -176,7 +174,6 @@ static void *reg_pressure_graph_init(ir_graph *irg) static void *reg_pressure_block_init(void *graph_env, ir_node *bl) { - ir_node *irn; reg_pressure_selector_env_t *env = XMALLOC(reg_pressure_selector_env_t); (void) graph_env; @@ -188,12 +185,7 @@ static void *reg_pressure_block_init(void *graph_env, ir_node *bl) * Collect usage statistics. */ sched_foreach(bl, irn) { - int i, n; - if (is_Proj(irn) - || (arch_get_irn_flags(irn) & arch_irn_flags_not_scheduled)) - continue; - - for (i = 0, n = get_irn_arity(irn); i < n; ++i) { + for (int i = 0, n = get_irn_arity(irn); i < n; ++i) { usage_stats_t *us = get_or_set_usage_stats(env, irn); #if 0 /* Liveness is not computed here! */ if (is_live_end(bl, op)) @@ -224,8 +216,6 @@ static int get_result_hops_sum(reg_pressure_selector_env_t *env, ir_node *irn) { int res = 0; if (get_irn_mode(irn) == mode_T) { - const ir_edge_t *edge; - foreach_out_edge(irn, edge) res += get_result_hops_sum(env, get_edge_src_irn(edge)); } @@ -259,10 +249,9 @@ static inline int reg_pr_costs(reg_pressure_selector_env_t *env, ir_node *irn) static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set) { - ir_nodeset_iterator_t iter; reg_pressure_selector_env_t *env = (reg_pressure_selector_env_t*)block_env; - ir_node *irn, *res = NULL; - int curr_cost = INT_MAX; + ir_node *res = NULL; + int curr_cost = INT_MAX; assert(ir_nodeset_size(ready_set) > 0); @@ -286,9 +275,7 @@ static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set) */ if (!res) { - ir_nodeset_iterator_init(&iter, ready_set); - res = ir_nodeset_iterator_next(&iter); - + res = ir_nodeset_first(ready_set); assert(res && "There must be a node scheduled."); }