summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-03-31 22:34:24 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2005-03-31 20:34:24 +0000
commit2ff3e3255a61777857c3768b03a5585db821d0ed (patch)
treeef3da471738e19037c6f8a7ff7213ef0ce336081
parentf7052523f64dee02643b14c514620db456b639cb (diff)
downloadgcc-2ff3e3255a61777857c3768b03a5585db821d0ed.tar.gz
cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT flag for edges outside any loops.
* cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT flag for edges outside any loops. From-SVN: r97348
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgloopanal.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dfd47ba49f6..e30ac442c4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT
+ flag for edges outside any loops.
+
2005-03-31 Janis Johnson <janis187@us.ibm.com>
* doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs.
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 055375d741f..2d2ece2cb2d 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -580,13 +580,10 @@ mark_loop_exit_edges (struct loops *loops)
{
edge_iterator ei;
- /* Do not mark exits from the fake outermost loop. */
- if (!bb->loop_father->outer)
- continue;
-
FOR_EACH_EDGE (e, ei, bb->succs)
{
- if (loop_exit_edge_p (bb->loop_father, e))
+ if (bb->loop_father->outer
+ && loop_exit_edge_p (bb->loop_father, e))
e->flags |= EDGE_LOOP_EXIT;
else
e->flags &= ~EDGE_LOOP_EXIT;