summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-17 02:31:56 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-17 02:31:56 +0000
commitb3d6de8978fd2208885e98b19a91c9d29c170af5 (patch)
tree94c8895c6dde3b282518d4c9951067cd0ac517fd /gcc/reload1.c
parent5e7d465f337d9d419b2528ad819390067caeca95 (diff)
downloadgcc-b3d6de8978fd2208885e98b19a91c9d29c170af5.tar.gz
Revert "Basic block renumbering removal", and two followup patches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53537 138bc75d-0d04-0410-961f-82ee72b054a4
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 ecfe0786445..1349c3c8559 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