flow.c (find_basic_blocks_1): Do not delete the first bb_note we run across.

* flow.c (find_basic_blocks_1): Do not delete the first
        bb_note we run across.
        (create_basic_block): Use reorder_insns to move an existing
        bb_note to the correct place.

From-SVN: r33814
This commit is contained in:
Richard Henderson 2000-05-09 22:48:40 -07:00 committed by Richard Henderson
parent 840e7b5148
commit 47095bfc99
2 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2000-05-09 Richard Henderson <rth@cygnus.com>
* flow.c (find_basic_blocks_1): Do not delete the first
bb_note we run across.
(create_basic_block): Use reorder_insns to move an existing
bb_note to the correct place.
2000-05-09 Richard Henderson <rth@cygnus.com>
* calls.c (expand_call): Increment currently_expanding_call

View File

@ -584,8 +584,8 @@ find_basic_blocks_1 (f)
{
if (bb_note == NULL_RTX)
bb_note = insn;
next = flow_delete_insn (insn);
else
next = flow_delete_insn (insn);
}
break;
}
@ -780,13 +780,18 @@ create_basic_block (index, head, end, bb_note)
{
/* If we found an existing note, thread it back onto the chain. */
rtx after;
if (GET_CODE (head) == CODE_LABEL)
add_insn_after (bb_note, head);
after = head;
else
{
add_insn_before (bb_note, head);
after = PREV_INSN (head);
head = bb_note;
}
if (after != bb_note && NEXT_INSN (after) != bb_note)
reorder_insns (bb_note, bb_note, after);
}
else
{