flow.c (merge_blocks_move_successor_nojumps): Delete the BARRIER at the end of the successor...

* flow.c (merge_blocks_move_successor_nojumps): Delete the
        BARRIER at the end of the successor, not the BARRIER before
        the successor.

From-SVN: r29545
This commit is contained in:
Jeffrey A Law 1999-09-21 14:47:23 +00:00 committed by Jeff Law
parent 4a9e5c6725
commit 8288909fc3
2 changed files with 10 additions and 3 deletions

@ -1,5 +1,9 @@
Tue Sep 21 06:45:31 1999 Jeffrey A Law (law@cygnus.com)
* flow.c (merge_blocks_move_successor_nojumps): Delete the
BARRIER at the end of the successor, not the BARRIER before
the successor.
* pa.c (pa_add_gc_roots): Fix thinko in last change.
Tue Sep 21 05:29:17 1999 Richard Earnshaw (rearnsha@arm.com)

@ -1907,10 +1907,13 @@ merge_blocks_move_successor_nojumps (e, a, b)
end = b->end;
insertpoint = a->end;
/* We want to delete the BARRIER before the start of the insns we are
/* We want to delete the BARRIER after the end of the insns we are
going to move. If we don't find a BARRIER, then do nothing. This
can happen in some cases if we have labels we can not delete. */
barrier = prev_nonnote_insn (start);
can happen in some cases if we have labels we can not delete.
Similarly, do nothing if we can not delete the label at the start
of the target block. */
barrier = next_nonnote_insn (end);
if (GET_CODE (barrier) != BARRIER
|| (GET_CODE (b->head) == CODE_LABEL
&& ! can_delete_label_p (b->head)))