aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2522508..dfd53dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-03-24 Geoff Keating <geoffk@cygnus.com>
+
+ * flow.c (propagate_block): When we delete an ADDR_VEC,
+ also delete the BARRIER following it if there is one.
+
2000-03-24 Richard Henderson <rth@cygnus.com>
* builtins.c (expand_builtin_bzero): Convert `length' argument
diff --git a/gcc/flow.c b/gcc/flow.c
index cbf4a0e..69de658 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3328,6 +3328,14 @@ propagate_block (bb, old, significant, flags)
PUT_CODE (next, NOTE);
NOTE_LINE_NUMBER (next) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (next) = 0;
+
+ if ((next = next_nonnote_insn (label)) != NULL
+ && GET_CODE (next) == BARRIER)
+ {
+ PUT_CODE (next, NOTE);
+ NOTE_LINE_NUMBER (next) = NOTE_INSN_DELETED;
+ NOTE_SOURCE_FILE (next) = 0;
+ }
}
}
}