OSDN Git Service

* cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2005 20:34:24 +0000 (20:34 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2005 20:34:24 +0000 (20:34 +0000)
flag for edges outside any loops.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97348 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfgloopanal.c

index dfd47ba..e30ac44 100644 (file)
@@ -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.
index 055375d..2d2ece2 100644 (file)
@@ -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;