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
This commit is contained in:
parent
c43f84d7ce
commit
a7b01a4bf1
@ -1,3 +1,9 @@
|
||||
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>
|
||||
|
||||
* dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
|
||||
|
@ -171,6 +171,9 @@ typedef struct reorder_block_def
|
||||
|
||||
#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. */
|
||||
static rtx skip_insns_after_block PARAMS ((basic_block));
|
||||
@ -307,6 +310,7 @@ record_effective_endpoints ()
|
||||
RBI (bb)->eff_end = end;
|
||||
next_insn = NEXT_INSN (end);
|
||||
}
|
||||
function_tail_eff_head = next_insn;
|
||||
}
|
||||
|
||||
|
||||
@ -580,8 +584,18 @@ fixup_reorder_chain ()
|
||||
last_bb = bb;
|
||||
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
|
||||
outgoing edges. */
|
||||
|
Loading…
Reference in New Issue
Block a user