- let loop run backwards
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 8 May 2009 10:38:44 +0000 (10:38 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 8 May 2009 10:38:44 +0000 (10:38 +0000)
[r25899]

ir/opt/opt_osr.c

index 0a8e875..d3e5344 100644 (file)
@@ -992,8 +992,8 @@ static void dfs(ir_node *irn, iv_env *env)
  */
 static void do_dfs(ir_graph *irg, iv_env *env) {
        ir_graph *rem = current_ir_graph;
-       ir_node *end = get_irg_end(irg);
-       int i, n;
+       ir_node  *end = get_irg_end(irg);
+       int i;
 
        ir_reserve_resources(irg, IR_RESOURCE_IRN_VISITED);
 
@@ -1004,8 +1004,7 @@ static void do_dfs(ir_graph *irg, iv_env *env) {
        dfs(end, env);
 
        /* visit the keep-alives */
-       n = get_End_n_keepalives(end);
-       for (i = 0; i < n; ++i) {
+       for (i = get_End_n_keepalives(end) - 1; i >= 0; --i) {
                ir_node *ka = get_End_keepalive(end, i);
 
                if (!irn_visited(ka))