diff options
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r-- | gcc/tree-ssa-loop.c | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index 8657dac1882..ee1b9b374ea 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -87,14 +87,15 @@ struct tree_opt_pass pass_tree_loop = /* Loop optimizer initialization. */ -static void +static unsigned int tree_ssa_loop_init (void) { current_loops = tree_loop_optimizer_init (); if (!current_loops) - return; + return 0; scev_initialize (current_loops); + return 0; } struct tree_opt_pass pass_tree_loop_init = @@ -116,13 +117,14 @@ struct tree_opt_pass pass_tree_loop_init = /* Loop invariant motion pass. */ -static void +static unsigned int tree_ssa_loop_im (void) { if (!current_loops) - return; + return 0; tree_ssa_lim (current_loops); + return 0; } static bool @@ -150,13 +152,14 @@ struct tree_opt_pass pass_lim = /* Loop unswitching pass. */ -static void +static unsigned int tree_ssa_loop_unswitch (void) { if (!current_loops) - return; + return 0; tree_ssa_unswitch_loops (current_loops); + return 0; } static bool @@ -184,10 +187,11 @@ struct tree_opt_pass pass_tree_unswitch = /* Loop autovectorization. */ -static void +static unsigned int tree_vectorize (void) { vectorize_loops (current_loops); + return 0; } static bool @@ -215,13 +219,14 @@ struct tree_opt_pass pass_vectorize = /* Loop nest optimizations. */ -static void +static unsigned int tree_linear_transform (void) { if (!current_loops) - return; + return 0; linear_transform_loops (current_loops); + return 0; } static bool @@ -249,13 +254,14 @@ struct tree_opt_pass pass_linear_transform = /* Canonical induction variable creation pass. */ -static void +static unsigned int tree_ssa_loop_ivcanon (void) { if (!current_loops) - return; + return 0; canonicalize_induction_variables (current_loops); + return 0; } static bool @@ -310,13 +316,14 @@ struct tree_opt_pass pass_scev_cprop = /* Remove empty loops. */ -static void +static unsigned int tree_ssa_empty_loop (void) { if (!current_loops) - return; + return 0; remove_empty_loops (current_loops); + return 0; } struct tree_opt_pass pass_empty_loop = @@ -338,14 +345,15 @@ struct tree_opt_pass pass_empty_loop = /* Record bounds on numbers of iterations of loops. */ -static void +static unsigned int tree_ssa_loop_bounds (void) { if (!current_loops) - return; + return 0; estimate_numbers_of_iterations (current_loops); scev_reset (); + return 0; } struct tree_opt_pass pass_record_bounds = @@ -367,16 +375,17 @@ struct tree_opt_pass pass_record_bounds = /* Complete unrolling of loops. */ -static void +static unsigned int tree_complete_unroll (void) { if (!current_loops) - return; + return 0; tree_unroll_loops_completely (current_loops, flag_unroll_loops || flag_peel_loops || optimize >= 3); + return 0; } static bool @@ -404,13 +413,14 @@ struct tree_opt_pass pass_complete_unroll = /* Prefetching. */ -static void +static unsigned int tree_ssa_loop_prefetch (void) { if (!current_loops) - return; + return 0; tree_ssa_prefetch_arrays (current_loops); + return 0; } static bool @@ -438,13 +448,14 @@ struct tree_opt_pass pass_loop_prefetch = /* Induction variable optimizations. */ -static void +static unsigned int tree_ssa_loop_ivopts (void) { if (!current_loops) - return; + return 0; tree_ssa_iv_optimize (current_loops); + return 0; } static bool @@ -474,16 +485,17 @@ struct tree_opt_pass pass_iv_optimize = /* Loop optimizer finalization. */ -static void +static unsigned int tree_ssa_loop_done (void) { if (!current_loops) - return; + return 0; free_numbers_of_iterations_estimates (current_loops); scev_finalize (); loop_optimizer_finalize (current_loops); current_loops = NULL; + return 0; } struct tree_opt_pass pass_tree_loop_done = |