Commit a7b01a4b by Richard Henderson Committed by Richard Henderson

bb-reorder.c (function_tail_eff_head): New.

        * bb-reorder.c (function_tail_eff_head): New.
        (record_effective_endpoints): Set it.
        (fixup_reorder_chain): Use it.

From-SVN: r45255
parent c43f84d7
2001-08-29 Richard Henderson <rth@redhat.com>
* bb-reorder.c (function_tail_eff_head): New.
(record_effective_endpoints): Set it.
(fixup_reorder_chain): Use it.
2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change. * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
......
...@@ -171,6 +171,9 @@ typedef struct reorder_block_def ...@@ -171,6 +171,9 @@ typedef struct reorder_block_def
#define RBI(BB) ((reorder_block_def) (BB)->aux) #define RBI(BB) ((reorder_block_def) (BB)->aux)
/* Holds the interesting trailing notes for the function. */
static rtx function_tail_eff_head;
/* Local function prototypes. */ /* Local function prototypes. */
static rtx skip_insns_after_block PARAMS ((basic_block)); static rtx skip_insns_after_block PARAMS ((basic_block));
...@@ -307,6 +310,7 @@ record_effective_endpoints () ...@@ -307,6 +310,7 @@ record_effective_endpoints ()
RBI (bb)->eff_end = end; RBI (bb)->eff_end = end;
next_insn = NEXT_INSN (end); next_insn = NEXT_INSN (end);
} }
function_tail_eff_head = next_insn;
} }
...@@ -580,8 +584,18 @@ fixup_reorder_chain () ...@@ -580,8 +584,18 @@ fixup_reorder_chain ()
last_bb = bb; last_bb = bb;
bb = RBI (bb)->next; bb = RBI (bb)->next;
} }
NEXT_INSN (RBI (last_bb)->eff_end) = NULL_RTX;
set_last_insn (RBI (last_bb)->eff_end); {
rtx insn = RBI (last_bb)->eff_end;
NEXT_INSN (insn) = function_tail_eff_head;
if (function_tail_eff_head)
PREV_INSN (function_tail_eff_head) = insn;
while (NEXT_INSN (insn))
insn = NEXT_INSN (insn);
set_last_insn (insn);
}
/* Now add jumps and labels as needed to match the blocks new /* Now add jumps and labels as needed to match the blocks new
outgoing edges. */ outgoing edges. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment