aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-09-21 14:47:23 +0000
committerJeff Law <law@gcc.gnu.org>1999-09-21 08:47:23 -0600
commit8288909fc3faededa65c24aa04b7f91a7eb11c86 (patch)
tree53a576d3cece1d488c61c46948913f4006b68fc0 /gcc
parent4a9e5c6725f3d793821c081801467d0a84c54e7c (diff)
downloadgcc-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')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/flow.c9
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)))