From 07eac43337353ddf54c5d94cb72696a99ed0d5bd Mon Sep 17 00:00:00 2001 From: aoliva Date: Thu, 11 Jan 2001 20:03:09 +0000 Subject: [PATCH] * config/sh/sh.c (barrier_align): Recognize branch around far branch and redundant insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38923 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/sh/sh.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5189ef8..6c1b1fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-01-11 Alexandre Oliva + + * config/sh/sh.c (barrier_align): Recognize branch around far + branch and redundant insn. + 2001-01-11 Neil Booth * invoke.texi: Restore documentation of the drivers' switches -MD diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 158714c..b73ab59 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -2862,7 +2862,11 @@ barrier_align (barrier_or_label) if (prev && GET_CODE (prev) == JUMP_INSN && JUMP_LABEL (prev) - && (jump_to_next || next_real_insn (JUMP_LABEL (prev)) == next)) + && (jump_to_next || next_real_insn (JUMP_LABEL (prev)) == next + /* If relax_delay_slots() decides NEXT was redundant + with some previous instruction, it will have + redirected PREV's jump to the following insn. */ + || JUMP_LABEL (prev) == next_nonnote_insn (next))) { rtx pat = PATTERN (prev); if (GET_CODE (pat) == PARALLEL) -- 2.7.4