summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadedge.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-09 06:51:43 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-09 06:51:43 +0000
commitd8a0d6b8af37fd836425e5d8e2f510c7e8753bd5 (patch)
treef5af72013d20563b8340bcf3462e935b8ad07bef /gcc/tree-ssa-threadedge.c
parent85c11f8971a88d45613596396aa8215103fbdd1c (diff)
downloadgcc-d8a0d6b8af37fd836425e5d8e2f510c7e8753bd5.tar.gz
* cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
(create_preheaders): Check that loops are available. (fix_loop_structure): Clean up, improve comments. * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Check that loops are available. Set LOOP_CLOSED_SSA to the loops state flags. * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info. * predict.c (tree_estimate_probability): Do not call calculate_dominance_info. Call create_preheaders. * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state flags. * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders. * cfgloop.h (LOOP_CLOSED_SSA): New constant. * tree-cfg.c (tree_split_edge): Make an assert more precise. * tree-ssa-threadedge.c (thread_across_edge): Comment the function arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123670 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-threadedge.c')
-rw-r--r--gcc/tree-ssa-threadedge.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c
index 777685af652..86b26562754 100644
--- a/gcc/tree-ssa-threadedge.c
+++ b/gcc/tree-ssa-threadedge.c
@@ -488,7 +488,19 @@ simplify_control_stmt_condition (edge e,
Note it is quite common for the first block inside a loop to
end with a conditional which is either always true or always
false when reached via the loop backedge. Thus we do not want
- to blindly disable threading across a loop backedge. */
+ to blindly disable threading across a loop backedge.
+
+ DUMMY_COND is a shared cond_expr used by condition simplification as scratch,
+ to avoid allocating memory.
+
+ HANDLE_DOMINATING_ASSERTS is true if we should try to replace operands of
+ the simplified condition with left-hand sides of ASSERT_EXPRs they are
+ used in.
+
+ STACK is used to undo temporary equivalences created during the walk of
+ E->dest.
+
+ SIMPLIFY is a pass-specific function used to simplify statements. */
void
thread_across_edge (tree dummy_cond,