aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-05-27 17:23:11 +0000
committerZdenek Dvorak <dvorakz@suse.cz>2007-05-27 17:23:11 +0000
commit026db79617d3012e4d44d4ab65c5e84261bc833b (patch)
tree877b6d8a4f3bb9732c119f5030e7349e852d40a1 /gcc/tree-ssa-loop.c
parent68b65cb7e27efab20ffb0dc695bb7a3ccec00ea1 (diff)
* tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto. * ifcvt.c (if_convert): Ditto. * tree-ssa-threadupdate.c (thread_block): Ditto. (thread_through_all_blocks): Ditto. Assert that loops were analysed. * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Check number_of_loops instead of current_loops. * predict.c (tree_estimate_probability): Ditto. * tree-if-conv.c (main_tree_if_conversion): Ditto. * tree-ssa-loop-ch.c (copy_loop_headers): Ditto. * modulo-sched.c (sms_schedule): Ditto. * tree-scalar-evolution.c (scev_const_prop): Ditto. (scev_finalize): Do not do anything if scev analysis was not initialized. * cfgloopanal.c (mark_irreducible_loops): Do not check whether current_loops == NULL. (mark_loop_exit_edges): Check number_of_loops instead of current_loops. * loop-init.c (loop_optimizer_init): Do not free current_loops when there are no loops. (loop_optimizer_finalize): Assert that loops were analyzed. (rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Check number_of_loops instead of current_loops. * tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether current_loops == NULL. (tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch, gate_tree_vectorize tree_linear_transform, check_data_deps, tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds, tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts): Check number_of_loops instead of current_loops. (tree_ssa_loop_done): Do not check whether current_loops == NULL. * tree-ssa-pre.c (fini_pre): Do not take do_fre argument. Always free loops if available. (execute_pre): Do not pass do_fre to fini_pre. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@125114 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r--gcc/tree-ssa-loop.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 895c9c25174..3a8f5db5ae7 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 ();