diff options
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
| -rw-r--r-- | gcc/tree-scalar-evolution.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index d4570a571e3..0c595579618 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -1015,10 +1015,9 @@ get_exit_conditions_rec (struct loop *loop, initializes the EXIT_CONDITIONS array. */ static void -select_loops_exit_conditions (struct loops *loops, - VEC(tree,heap) **exit_conditions) +select_loops_exit_conditions (VEC(tree,heap) **exit_conditions) { - struct loop *function_body = loops->parray[0]; + struct loop *function_body = current_loops->tree_root; get_exit_conditions_rec (function_body->inner, exit_conditions); } @@ -2745,10 +2744,9 @@ initialize_scalar_evolutions_analyzer (void) /* Initialize the analysis of scalar evolutions for LOOPS. */ void -scev_initialize (struct loops *loops) +scev_initialize (void) { unsigned i; - current_loops = loops; scalar_evolution_info = htab_create (100, hash_scev_info, eq_scev_info, del_scev_info); @@ -2756,9 +2754,9 @@ scev_initialize (struct loops *loops) initialize_scalar_evolutions_analyzer (); - for (i = 1; i < loops->num; i++) - if (loops->parray[i]) - loops->parray[i]->nb_iterations = NULL_TREE; + for (i = 1; i < current_loops->num; i++) + if (current_loops->parray[i]) + current_loops->parray[i]->nb_iterations = NULL_TREE; } /* Cleans up the information cached by the scalar evolutions analysis. */ @@ -2850,7 +2848,7 @@ scev_analysis (void) VEC(tree,heap) *exit_conditions; exit_conditions = VEC_alloc (tree, heap, 37); - select_loops_exit_conditions (current_loops, &exit_conditions); + select_loops_exit_conditions (&exit_conditions); if (dump_file && (dump_flags & TDF_STATS)) analyze_scalar_evolution_for_all_loop_phi_nodes (&exit_conditions); |

