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/tree-vect-analyze.c | |
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/tree-vect-analyze.c')
-rw-r--r-- | gcc/tree-vect-analyze.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vect-analyze.c b/gcc/tree-vect-analyze.c index 8151c74d92d..190e7dc8bad 100644 --- a/gcc/tree-vect-analyze.c +++ b/gcc/tree-vect-analyze.c @@ -384,7 +384,7 @@ vect_analyze_operations (loop_vec_info loop_vinfo) "not vectorized: can't create epilog loop 1."); return false; } - if (!slpeel_can_duplicate_loop_p (loop, loop->single_exit)) + if (!slpeel_can_duplicate_loop_p (loop, single_exit (loop))) { if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS)) fprintf (vect_dump, @@ -1522,7 +1522,7 @@ vect_stmt_relevant_p (tree stmt, loop_vec_info loop_vinfo, /* We expect all such uses to be in the loop exit phis (because of loop closed form) */ gcc_assert (TREE_CODE (USE_STMT (use_p)) == PHI_NODE); - gcc_assert (bb == loop->single_exit->dest); + gcc_assert (bb == single_exit (loop)->dest); *live_p = true; } @@ -1873,13 +1873,13 @@ vect_analyze_loop_form (struct loop *loop) return NULL; } - if (!loop->single_exit + if (!single_exit (loop) || loop->num_nodes != 2 || EDGE_COUNT (loop->header->preds) != 2) { if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS)) { - if (!loop->single_exit) + if (!single_exit (loop)) fprintf (vect_dump, "not vectorized: multiple exits."); else if (loop->num_nodes != 2) fprintf (vect_dump, "not vectorized: too many BBs in loop."); @@ -1903,9 +1903,9 @@ vect_analyze_loop_form (struct loop *loop) } /* Make sure there exists a single-predecessor exit bb: */ - if (!single_pred_p (loop->single_exit->dest)) + if (!single_pred_p (single_exit (loop)->dest)) { - edge e = loop->single_exit; + edge e = single_exit (loop); if (!(e->flags & EDGE_ABNORMAL)) { split_loop_exit_edge (e); |