Commit 47095bfc by Richard Henderson Committed by Richard Henderson

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
parent 840e7b51
2000-05-09 Richard Henderson <rth@cygnus.com> 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 * calls.c (expand_call): Increment currently_expanding_call
before calling optimize_tail_recursion. before calling optimize_tail_recursion.
......
...@@ -584,7 +584,7 @@ find_basic_blocks_1 (f) ...@@ -584,7 +584,7 @@ find_basic_blocks_1 (f)
{ {
if (bb_note == NULL_RTX) if (bb_note == NULL_RTX)
bb_note = insn; bb_note = insn;
else
next = flow_delete_insn (insn); next = flow_delete_insn (insn);
} }
break; break;
...@@ -780,13 +780,18 @@ create_basic_block (index, head, end, bb_note) ...@@ -780,13 +780,18 @@ create_basic_block (index, head, end, bb_note)
{ {
/* If we found an existing note, thread it back onto the chain. */ /* If we found an existing note, thread it back onto the chain. */
rtx after;
if (GET_CODE (head) == CODE_LABEL) if (GET_CODE (head) == CODE_LABEL)
add_insn_after (bb_note, head); after = head;
else else
{ {
add_insn_before (bb_note, head); after = PREV_INSN (head);
head = bb_note; head = bb_note;
} }
if (after != bb_note && NEXT_INSN (after) != bb_note)
reorder_insns (bb_note, bb_note, after);
} }
else else
{ {
......
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