summaryrefslogtreecommitdiff
path: root/gcc/loop-init.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-27 17:23:11 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-27 17:23:11 +0000
commit7a3bf727e16b2e01cb8d18c050a1fdfe1175da2f (patch)
tree877b6d8a4f3bb9732c119f5030e7349e852d40a1 /gcc/loop-init.c
parentdfbbba6106fee07791f0313f926d1c3d46b3f7a0 (diff)
downloadgcc-7a3bf727e16b2e01cb8d18c050a1fdfe1175da2f.tar.gz
* 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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125114 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-init.c')
-rw-r--r--gcc/loop-init.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 3aa6527a80a..d78b5ace52e 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -51,14 +51,6 @@ loop_optimizer_init (unsigned flags)
flow_loops_find (loops);
current_loops = loops;
- if (number_of_loops () <= 1)
- {
- /* No loops (the 1 returned by number_of_loops corresponds to the fake
- loop that we put as a root of the loop tree). */
- loop_optimizer_finalize ();
- return;
- }
-
if (flags & LOOPS_MAY_HAVE_MULTIPLE_LATCHES)
{
/* If the loops may have multiple latches, we cannot canonicalize
@@ -105,8 +97,7 @@ loop_optimizer_finalize (void)
struct loop *loop;
basic_block bb;
- if (!current_loops)
- return;
+ gcc_assert (current_loops != NULL);
FOR_EACH_LOOP (li, loop, 0)
{
@@ -244,7 +235,7 @@ gate_rtl_move_loop_invariants (void)
static unsigned int
rtl_move_loop_invariants (void)
{
- if (current_loops)
+ if (number_of_loops () > 1)
move_loop_invariants ();
return 0;
}
@@ -277,7 +268,7 @@ gate_rtl_unswitch (void)
static unsigned int
rtl_unswitch (void)
{
- if (current_loops)
+ if (number_of_loops () > 1)
unswitch_loops ();
return 0;
}
@@ -310,7 +301,7 @@ gate_rtl_unroll_and_peel_loops (void)
static unsigned int
rtl_unroll_and_peel_loops (void)
{
- if (current_loops)
+ if (number_of_loops () > 1)
{
int flags = 0;
@@ -359,7 +350,7 @@ static unsigned int
rtl_doloop (void)
{
#ifdef HAVE_doloop_end
- if (current_loops)
+ if (number_of_loops () > 1)
doloop_optimize_loops ();
#endif
return 0;