aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2007-04-09 08:51:43 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-04-09 06:51:43 +0000
commitc7b852c8a60d46ba79c50b9d2a4f3cba4847c896 (patch)
treef5af72013d20563b8340bcf3462e935b8ad07bef /gcc/cfgloop.c
parent782c9150c34a05791f425af5af81c8198cf49176 (diff)
downloadgcc-c7b852c8a60d46ba79c50b9d2a4f3cba4847c896.zip
gcc-c7b852c8a60d46ba79c50b9d2a4f3cba4847c896.tar.gz
gcc-c7b852c8a60d46ba79c50b9d2a4f3cba4847c896.tar.bz2
cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
* 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. From-SVN: r123670
Diffstat (limited to 'gcc/cfgloop.c')
-rw-r--r--gcc/cfgloop.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index 12ce92c..b30e352 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -1548,6 +1548,8 @@ loop_preheader_edge (const struct loop *loop)
edge e;
edge_iterator ei;
+ gcc_assert ((current_loops->state & LOOPS_HAVE_PREHEADERS) != 0);
+
FOR_EACH_EDGE (e, ei, loop->header->preds)
if (e->src != loop->latch)
break;