aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2002-05-17 02:07:06 +0200
committerRichard Henderson <rth@gcc.gnu.org>2002-05-16 17:07:06 -0700
commitfbfb3b09bca0c30f79b037ad071657fd44acf3a3 (patch)
tree0985caaa294a9b67d9f020ea7ed7c0e19f107613 /gcc/flow.c
parentb4b0fb02b13ba46f415a0dd1aa6eb1dc8ca23721 (diff)
downloadgcc-fbfb3b09bca0c30f79b037ad071657fd44acf3a3.zip
gcc-fbfb3b09bca0c30f79b037ad071657fd44acf3a3.tar.gz
gcc-fbfb3b09bca0c30f79b037ad071657fd44acf3a3.tar.bz2
* flow.c (calculate_global_regs_live): Queue blocks in program order.
From-SVN: r53533
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index cdfbee5..c78877d 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
{