summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c16
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8f2dc2843b8..d901b876f7c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/flow.c b/gcc/flow.c
index cdfbee5c875..c78877d23ce 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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
{