diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-17 02:31:56 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-17 02:31:56 +0000 |
commit | b3d6de8978fd2208885e98b19a91c9d29c170af5 (patch) | |
tree | 94c8895c6dde3b282518d4c9951067cd0ac517fd /gcc/reload1.c | |
parent | 5e7d465f337d9d419b2528ad819390067caeca95 (diff) | |
download | gcc-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.c | 19 |
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 |