diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-11-22 00:54:16 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-11-21 23:54:16 +0000 |
commit | ac8f6c69032b9a07b3036a2514bd59353b2a32c3 (patch) | |
tree | bf6b0974fc31405c052970da079d8c6c75d72a63 /gcc/lambda-code.c | |
parent | bf8dbe38637ce885c1b7af763f7728955083195e (diff) | |
download | gcc-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/lambda-code.c')
-rw-r--r-- | gcc/lambda-code.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/lambda-code.c b/gcc/lambda-code.c index d2876a7..f4fce42 100644 --- a/gcc/lambda-code.c +++ b/gcc/lambda-code.c @@ -1875,7 +1875,7 @@ lambda_loopnest_to_gcc_loopnest (struct loop *old_loopnest, type, new_ivs, invariants, MIN_EXPR, &stmts); - exit = temp->single_exit; + exit = single_exit (temp); exitcond = get_loop_exit_condition (temp); bb = bb_for_stmt (exitcond); bsi = bsi_start (bb); @@ -2211,7 +2211,7 @@ exit_phi_for_loop_p (struct loop *loop, tree stmt) if (TREE_CODE (stmt) != PHI_NODE || PHI_NUM_ARGS (stmt) != 1 - || bb_for_stmt (stmt) != loop->single_exit->dest) + || bb_for_stmt (stmt) != single_exit (loop)->dest) return false; return true; @@ -2387,7 +2387,7 @@ can_convert_to_perfect_nest (struct loop *loop) /* We also need to make sure the loop exit only has simple copy phis in it, otherwise we don't know how to transform it into a perfect nest right now. */ - exitdest = loop->single_exit->dest; + exitdest = single_exit (loop)->dest; for (phi = phi_nodes (exitdest); phi; phi = PHI_CHAIN (phi)) if (PHI_NUM_ARGS (phi) != 1) @@ -2463,8 +2463,8 @@ perfect_nestify (struct loops *loops, htab_t replacements = NULL; /* Create the new loop. */ - olddest = loop->single_exit->dest; - preheaderbb = split_edge (loop->single_exit); + olddest = single_exit (loop)->dest; + preheaderbb = split_edge (single_exit (loop)); headerbb = create_empty_bb (EXIT_BLOCK_PTR->prev_bb); /* Push the exit phi nodes that we are moving. */ @@ -2517,14 +2517,14 @@ perfect_nestify (struct loops *loops, newloop = duplicate_loop (loops, loop, olddest->loop_father); newloop->header = headerbb; newloop->latch = latchbb; - newloop->single_exit = e; + set_single_exit (newloop, e); add_bb_to_loop (latchbb, newloop); add_bb_to_loop (bodybb, newloop); add_bb_to_loop (headerbb, newloop); set_immediate_dominator (CDI_DOMINATORS, bodybb, headerbb); set_immediate_dominator (CDI_DOMINATORS, headerbb, preheaderbb); set_immediate_dominator (CDI_DOMINATORS, preheaderbb, - loop->single_exit->src); + single_exit (loop)->src); set_immediate_dominator (CDI_DOMINATORS, latchbb, bodybb); set_immediate_dominator (CDI_DOMINATORS, olddest, bodybb); /* Create the new iv. */ |