aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-05-16 19:31:56 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-05-16 19:31:56 -0700
commit0b17ab2f5b1184fdb568786f791bc0613e574241 (patch)
tree94c8895c6dde3b282518d4c9951067cd0ac517fd /gcc/reload1.c
parent8ae86b3cd8c96e287714f127879b018ac7fccd7d (diff)
downloadgcc-0b17ab2f5b1184fdb568786f791bc0613e574241.zip
gcc-0b17ab2f5b1184fdb568786f791bc0613e574241.tar.gz
gcc-0b17ab2f5b1184fdb568786f791bc0613e574241.tar.bz2
Revert "Basic block renumbering removal", and two followup patches.
From-SVN: r53537
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index ecfe078..1349c3c 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -676,7 +676,6 @@ reload (first, global)
int i;
rtx insn;
struct elim_table *ep;
- basic_block bb;
/* The two pointers used to track the true location of the memory used
for label offsets. */
@@ -1124,8 +1123,8 @@ reload (first, global)
pseudo. */
if (! frame_pointer_needed)
- FOR_ALL_BB (bb)
- CLEAR_REGNO_REG_SET (bb->global_live_at_start,
+ for (i = 0; i < n_basic_blocks; i++)
+ CLEAR_REGNO_REG_SET (BASIC_BLOCK (i)->global_live_at_start,
HARD_FRAME_POINTER_REGNUM);
/* Come here (with failure set nonzero) if we can't get enough spill regs
@@ -8613,7 +8612,6 @@ reload_combine ()
int first_index_reg = -1;
int last_index_reg = 0;
int i;
- basic_block bb;
unsigned int r;
int last_label_ruid;
int min_labelno, n_labels;
@@ -8649,17 +8647,17 @@ reload_combine ()
label_live = (HARD_REG_SET *) xmalloc (n_labels * sizeof (HARD_REG_SET));
CLEAR_HARD_REG_SET (ever_live_at_start);
- FOR_ALL_BB_REVERSE (bb)
+ for (i = n_basic_blocks - 1; i >= 0; i--)
{
- insn = bb->head;
+ insn = BLOCK_HEAD (i);
if (GET_CODE (insn) == CODE_LABEL)
{
HARD_REG_SET live;
REG_SET_TO_HARD_REG_SET (live,
- bb->global_live_at_start);
+ BASIC_BLOCK (i)->global_live_at_start);
compute_use_by_pseudos (&live,
- bb->global_live_at_start);
+ BASIC_BLOCK (i)->global_live_at_start);
COPY_HARD_REG_SET (LABEL_LIVE (insn), live);
IOR_HARD_REG_SET (ever_live_at_start, live);
}
@@ -9490,11 +9488,12 @@ copy_eh_notes (insn, x)
void
fixup_abnormal_edges ()
{
+ int i;
bool inserted = false;
- basic_block bb;
- FOR_ALL_BB (bb)
+ for (i = 0; i < n_basic_blocks; i++)
{
+ basic_block bb = BASIC_BLOCK (i);
edge e;
/* Look for cases we are interested in - an calls or instructions causing