diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-21 23:54:16 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-21 23:54:16 +0000 |
commit | d9e7e1a2cbb1c2971b273141966258bc8c8d8629 (patch) | |
tree | bf6b0974fc31405c052970da079d8c6c75d72a63 /gcc/doc/loop.texi | |
parent | 073924283c3944e098ae1011b58d31e0d05bdbcd (diff) | |
download | gcc-d9e7e1a2cbb1c2971b273141966258bc8c8d8629.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119075 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/loop.texi')
-rw-r--r-- | gcc/doc/loop.texi | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi index 8c6f52ca95d..642a52374d4 100644 --- a/gcc/doc/loop.texi +++ b/gcc/doc/loop.texi @@ -104,8 +104,8 @@ flag is not set for blocks and edges that belong to natural loops that are in such an irreducible region (but it is set for the entry and exit edges of such a loop, if they lead to/from this region). @item @code{LOOPS_HAVE_MARKED_SINGLE_EXITS}: If a loop has exactly one -exit edge, this edge is stored in @code{single_exit} field of the loop -structure. @code{NULL} is stored there otherwise. +exit edge, this edge is recorded in the loop structure. @code{single_exit} +function can be used to retrieve this edge. @end itemize These properties may also be computed/enforced later, using functions @@ -140,9 +140,6 @@ the basic blocks of the sub-loops). number of super-loops of the loop. @item @code{outer}, @code{inner}, @code{next}: The super-loop, the first sub-loop, and the sibling of the loop in the loops tree. -@item @code{single_exit}: The exit edge of the loop, if the loop has -exactly one exit and the loops were analyzed with -LOOPS_HAVE_MARKED_SINGLE_EXITS. @end itemize There are other fields in the loop structures, many of them used only by @@ -176,6 +173,9 @@ with @code{EDGE_LOOP_EXIT} flag. @code{get_loop_body_in_bfs_order}: Enumerates the basic blocks in the loop in depth-first search order in reversed CFG, ordered by dominance relation, and breath-first search order, respectively. +@item @code{single_exit}: Returns the single exit edge of the loop, or +@code{NULL} if the loop has more than one exit. You can only use this +function if LOOPS_HAVE_MARKED_SINGLE_EXITS property is used. @item @code{get_loop_exit_edges}: Enumerates the exit edges of a loop. @item @code{just_once_each_iteration_p}: Returns true if the basic block is executed exactly once during each iteration of a loop (that is, it |