aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloopmanip.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-11-22 00:54:16 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-11-21 23:54:16 +0000
commitac8f6c69032b9a07b3036a2514bd59353b2a32c3 (patch)
treebf6b0974fc31405c052970da079d8c6c75d72a63 /gcc/cfgloopmanip.c
parentbf8dbe38637ce885c1b7af763f7728955083195e (diff)
downloadgcc-ac8f6c69032b9a07b3036a2514bd59353b2a32c3.zip
gcc-ac8f6c69032b9a07b3036a2514bd59353b2a32c3.tar.gz
gcc-ac8f6c69032b9a07b3036a2514bd59353b2a32c3.tar.bz2
tree-loop-linear.c (linear_transform_loops): Use single_exit accessor functions.
* tree-loop-linear.c (linear_transform_loops): Use single_exit accessor functions. * tree-ssa-loop-niter.c (loop_only_exit_p): Ditto. * cfgloopmanip.c (update_single_exits_after_duplication, update_single_exit_for_duplicated_loop, loop_version): Ditto. * tree-scalar-evolution.c (get_loop_exit_condition, get_exit_conditions_rec, loop_closed_phi_def, number_of_iterations_in_loop, scev_const_prop): Ditto. * tree-ssa-loop-ivopts.c (single_dom_exit): Ditto. * modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule): Ditto. * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Ditto. * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop, slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2, slpeel_make_loop_iterate_ntimes, slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p, slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge): Ditto. * tree-if-conv.c (if_convertible_loop_p): Ditto. * tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p, vect_analyze_loop_form): Ditto. * lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p, can_convert_to_perfect_nest, perfect_nestify): Ditto. * tree-vect-transform.c (vect_create_epilog_for_reduction, vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound, vect_transform_loop): Ditto. * cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto. (single_exit, set_single_exit): New functions. * cfgloop.h (struct loop): Rename single_exit field to single_exit_. (single_exit, set_single_exit): Declare. * doc/loop.texi: Undocument single_exit field. Document single_exit accessor function. From-SVN: r119075
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r--gcc/cfgloopmanip.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 028db02..63cab60 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -766,11 +766,11 @@ update_single_exits_after_duplication (basic_block *bbs, unsigned nbbs,
for (; loop->outer; loop = loop->outer)
{
- if (!loop->single_exit)
+ if (!single_exit (loop))
continue;
- if (loop->single_exit->src->flags & BB_DUPLICATED)
- loop->single_exit = NULL;
+ if (single_exit (loop)->src->flags & BB_DUPLICATED)
+ set_single_exit (loop, NULL);
}
for (i = 0; i < nbbs; i++)
@@ -784,7 +784,7 @@ update_single_exit_for_duplicated_loop (struct loop *loop)
{
struct loop *copy = loop->copy;
basic_block src, dest;
- edge exit = loop->single_exit;
+ edge exit = single_exit (loop);
if (!exit)
return;
@@ -796,7 +796,7 @@ update_single_exit_for_duplicated_loop (struct loop *loop)
exit = find_edge (src, dest);
gcc_assert (exit != NULL);
- copy->single_exit = exit;
+ set_single_exit (copy, exit);
}
/* Updates single exit information for copies of ORIG_LOOPS and their subloops.
@@ -1336,9 +1336,9 @@ loop_version (struct loops *loops, struct loop * loop,
cond_bb, true_edge, false_edge,
false /* Do not redirect all edges. */);
- exit = loop->single_exit;
+ exit = single_exit (loop);
if (exit)
- nloop->single_exit = find_edge (get_bb_copy (exit->src), exit->dest);
+ set_single_exit (nloop, find_edge (get_bb_copy (exit->src), exit->dest));
/* loopify redirected latch_edge. Update its PENDING_STMTS. */
lv_flush_pending_stmts (latch_edge);