* flow.c (calculate_global_regs_live): Queue blocks in program order.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 May 2002 00:07:06 +0000 (00:07 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 May 2002 00:07:06 +0000 (00:07 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53533 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/flow.c

index 8f2dc28..d901b87 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * flow.c (calculate_global_regs_live): Queue blocks in program order.
+
 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * doc/install.texi (Configuration): Document PWDCMD.
index cdfbee5..c78877d 100644 (file)
@@ -1113,16 +1113,14 @@ calculate_global_regs_live (blocks_in, blocks_out, flags)
      useful work.  We use AUX non-null to flag that the block is queued.  */
   if (blocks_in)
     {
-      /* Clear out the garbage that might be hanging out in bb->aux.  */
       FOR_ALL_BB (bb)
-       bb->aux = NULL;
-
-      EXECUTE_IF_SET_IN_SBITMAP (blocks_in, 0, i,
-       {
-         bb = BASIC_BLOCK (i);
-         *--qhead = bb;
-         bb->aux = bb;
-       });
+       if (TEST_BIT (blocks_in, bb->sindex))
+         {
+           *--qhead = bb;
+           bb->aux = bb;
+         }
+       else
+         bb->aux = NULL;
     }
   else
     {