summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/cfgrtl.c7
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 80a3f1c9bd8..29a4b9cce92 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2001-11-22 Graham Stott <grahams@redhat.com>
+ * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
+ replacement jump after original jump.
+
+ (verify_flow_info): Remove redundent initialisation.
+ Handle reaching end of insn list before finding a BARRIER.
+ Only issue one missing barrier diagnostic.
+
+2001-11-22 Graham Stott <grahams@redhat.com>
+
* local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 2687e73d358..48d0e859217 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -710,7 +710,7 @@ try_redirect_by_replacing_jump (e, target)
rtx target_label = block_label (target);
rtx barrier;
- emit_jump_insn_after (gen_jump (target_label), kill_from);
+ emit_jump_insn_after (gen_jump (target_label), insn);
JUMP_LABEL (src->end) = target_label;
LABEL_NUSES (target_label)++;
if (rtl_dump_file)
@@ -1634,10 +1634,10 @@ verify_flow_info ()
}
if (!has_fallthru)
{
- rtx insn = bb->end;
+ rtx insn;
/* Ensure existence of barrier in BB with no fallthru edges. */
- for (insn = bb->end; GET_CODE (insn) != BARRIER;
+ for (insn = bb->end; !insn || GET_CODE (insn) != BARRIER;
insn = NEXT_INSN (insn))
if (!insn
|| (GET_CODE (insn) == NOTE
@@ -1645,6 +1645,7 @@ verify_flow_info ()
{
error ("Missing barrier after block %i", bb->index);
err = 1;
+ break;
}
}