aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-31 16:57:00 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-31 16:57:00 -0700
commitabb9a4c5705c72447e159a350ce2e482d5420996 (patch)
tree597a08b29955af34efba904eee97e610386cc624 /gcc
parent2771fe54e376ba6317e1c35548501dd455318ff2 (diff)
downloadgcc-abb9a4c5705c72447e159a350ce2e482d5420996.zip
gcc-abb9a4c5705c72447e159a350ce2e482d5420996.tar.gz
gcc-abb9a4c5705c72447e159a350ce2e482d5420996.tar.bz2
flow.c (merge_blocks_nomove): Remove a barrier not following a jump as well.
* flow.c (merge_blocks_nomove): Remove a barrier not following a jump as well. From-SVN: r34315
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index aea8ddb..0ea100b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2000-05-31 Richard Henderson <rth@cygnus.com>
+ * flow.c (merge_blocks_nomove): Remove a barrier not following
+ a jump as well.
+
+2000-05-31 Richard Henderson <rth@cygnus.com>
+
* flow.c (propagate_block): Move initialization of mem_set_list ...
(init_propagate_block_info): ... here. Also track blocks with
no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
diff --git a/gcc/flow.c b/gcc/flow.c
index dcdf9692..c8762c8 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2201,6 +2201,8 @@ merge_blocks_nomove (a, b)
a_end = prev;
}
+ else if (GET_CODE (NEXT_INSN (a_end)) == BARRIER)
+ del_first = NEXT_INSN (a_end);
/* Delete everything marked above as well as crap that might be
hanging out between the two blocks. */