aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloopanal.c
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 /gcc/cfgloopanal.c
parentf7052523f64dee02643b14c514620db456b639cb (diff)
downloadgcc-2ff3e3255a61777857c3768b03a5585db821d0ed.zip
gcc-2ff3e3255a61777857c3768b03a5585db821d0ed.tar.gz
gcc-2ff3e3255a61777857c3768b03a5585db821d0ed.tar.bz2
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
Diffstat (limited to 'gcc/cfgloopanal.c')
-rw-r--r--gcc/cfgloopanal.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 055375d..2d2ece2 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;