From 8288909fc3faededa65c24aa04b7f91a7eb11c86 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Tue, 21 Sep 1999 14:47:23 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 4 ++++ gcc/flow.c | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9bdf981..38e0c15 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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) diff --git a/gcc/flow.c b/gcc/flow.c index 988ccc7..95743d8 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -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))) -- 2.7.4