diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-09-21 14:47:23 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-09-21 08:47:23 -0600 |
commit | 8288909fc3faededa65c24aa04b7f91a7eb11c86 (patch) | |
tree | 53a576d3cece1d488c61c46948913f4006b68fc0 /gcc/flow.c | |
parent | 4a9e5c6725f3d793821c081801467d0a84c54e7c (diff) | |
download | gcc-8288909fc3faededa65c24aa04b7f91a7eb11c86.zip gcc-8288909fc3faededa65c24aa04b7f91a7eb11c86.tar.gz gcc-8288909fc3faededa65c24aa04b7f91a7eb11c86.tar.bz2 |
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
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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))) |