summaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.c
diff options
context:
space:
mode:
authorgrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-22 14:30:37 +0000
committergrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-22 14:30:37 +0000
commitecb96b05f90a8fec98d42082bb7ec09fb29cd54b (patch)
tree4a5ebac76f018ce756ea63f1997e6517c6939581 /gcc/cfgrtl.c
parent7cbdd69742090d57fb123193bba8d977b3b91598 (diff)
downloadgcc-ecb96b05f90a8fec98d42082bb7ec09fb29cd54b.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47269 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c7
1 files changed, 4 insertions, 3 deletions
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;
}
}