diff options
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r-- | gcc/tree-ssa-loop.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index 895c9c2..3a8f5db 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -45,9 +45,6 @@ tree_loop_optimizer_init (void) { loop_optimizer_init (LOOPS_NORMAL | LOOPS_HAVE_RECORDED_EXITS); - if (!current_loops) - return; - rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa); } @@ -82,7 +79,7 @@ static unsigned int tree_ssa_loop_init (void) { tree_loop_optimizer_init (); - if (!current_loops) + if (number_of_loops () <= 1) return 0; scev_initialize (); @@ -111,7 +108,7 @@ struct tree_opt_pass pass_tree_loop_init = static unsigned int tree_ssa_loop_im (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; tree_ssa_lim (); @@ -146,7 +143,7 @@ struct tree_opt_pass pass_lim = static unsigned int tree_ssa_loop_unswitch (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; return tree_ssa_unswitch_loops (); @@ -223,7 +220,7 @@ tree_vectorize (void) static bool gate_tree_vectorize (void) { - return flag_tree_vectorize && current_loops; + return flag_tree_vectorize && number_of_loops () > 1; } struct tree_opt_pass pass_vectorize = @@ -249,7 +246,7 @@ struct tree_opt_pass pass_vectorize = static unsigned int tree_linear_transform (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; linear_transform_loops (); @@ -285,7 +282,7 @@ struct tree_opt_pass pass_linear_transform = static unsigned int check_data_deps (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; tree_check_data_deps (); @@ -320,7 +317,7 @@ struct tree_opt_pass pass_check_data_deps = static unsigned int tree_ssa_loop_ivcanon (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; return canonicalize_induction_variables (); @@ -381,7 +378,7 @@ struct tree_opt_pass pass_scev_cprop = static unsigned int tree_ssa_empty_loop (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; return remove_empty_loops (); @@ -410,7 +407,7 @@ struct tree_opt_pass pass_empty_loop = static unsigned int tree_ssa_loop_bounds (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; estimate_numbers_of_iterations (); @@ -440,7 +437,7 @@ struct tree_opt_pass pass_record_bounds = static unsigned int tree_complete_unroll (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; return tree_unroll_loops_completely (flag_unroll_loops @@ -477,7 +474,7 @@ struct tree_opt_pass pass_complete_unroll = static unsigned int tree_ssa_loop_prefetch (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; return tree_ssa_prefetch_arrays (); @@ -511,7 +508,7 @@ struct tree_opt_pass pass_loop_prefetch = static unsigned int tree_ssa_loop_ivopts (void) { - if (!current_loops) + if (number_of_loops () <= 1) return 0; tree_ssa_iv_optimize (); @@ -547,9 +544,6 @@ struct tree_opt_pass pass_iv_optimize = static unsigned int tree_ssa_loop_done (void) { - if (!current_loops) - return 0; - free_numbers_of_iterations_estimates (); scev_finalize (); loop_optimizer_finalize (); |