summaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-07 15:46:59 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-07 15:46:59 +0000
commit88d0e264ccba305e3876738eb3a12ff7c4d827e2 (patch)
treef6ec56ef8fbfd4d601546bdb07c86e47c3fc9efc /gcc/reorg.c
parent1a9390057e0f73a16fd6518e60498aba1aff4410 (diff)
downloadgcc-88d0e264ccba305e3876738eb3a12ff7c4d827e2.tar.gz
* reorg.c (relax_delay_slots): Check that the jump is
conditional before trying to invert it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96027 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 763f07b86cb..09c8ea583c5 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -3379,6 +3379,7 @@ relax_delay_slots (rtx first)
annulled jumps, though. Again, don't convert a jump to a RETURN
here. */
if (! INSN_ANNULLED_BRANCH_P (delay_insn)
+ && any_condjump_p (delay_insn)
&& next && JUMP_P (next)
&& (simplejump_p (next) || GET_CODE (PATTERN (next)) == RETURN)
&& next_active_insn (target_label) == next_active_insn (next)