flow.c (split_edge): Set JUMP_LABEL field.

* flow.c (split_edge): Set JUMP_LABEL field.
	(commit_one_edge_insertion): Set head correctly for insert_before.
	When inserting insns, update insn block numbers if allocated.

From-SVN: r28646
This commit is contained in:
Andrew MacLeod 1999-08-10 14:46:16 +00:00 committed by Andrew Macleod
parent d560ee52bb
commit a8688bd6e9
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* flow.c (split_edge): Set JUMP_LABEL field.
(commit_one_edge_insertion): Set head correctly for insert_before.
When inserting insns, update insn block numbers if allocated.
Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,

View File

@ -1260,6 +1260,7 @@ split_edge (edge_in)
emit_barrier_after (pos);
/* ... let jump know that label is in use, ... */
JUMP_LABEL (pos) = old_succ->head;
++LABEL_NUSES (old_succ->head);
/* ... and clear fallthru on the outgoing edge. */
@ -1435,11 +1436,20 @@ commit_one_edge_insertion (e)
/* Now that we've found the spot, do the insertion. */
tmp = e->insns;
e->insns = NULL_RTX;
/* Set the new block number for these insns, if structure is allocated. */
if (basic_block_for_insn)
{
rtx i;
for (i = tmp; i != NULL_RTX; i = NEXT_INSN (i))
set_block_for_insn (i, bb);
}
if (before)
{
emit_insns_before (tmp, before);
if (before == bb->head)
bb->head = before;
bb->head = tmp;
}
else
{