* flow.c (calculate_global_regs_live): Queue blocks in program order.
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Fri, 17 May 2002 00:07:06 +0000 (02:07 +0200)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 17 May 2002 00:07:06 +0000 (17:07 -0700)
From-SVN: r53533

gcc/ChangeLog
gcc/flow.c

index 8f2dc2843b8927f7966c9bfde2ca1c20de86a689..d901b876f7c5e0bb11489a57e110dd84f650962e 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 cdfbee5c875fe252c724ceb3d343909ae1c26e88..c78877d23cec4b1155f26aadfd509dc49828d315 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
     {