aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reorg.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 986b1da..9c6b448 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * reorg.c (relax_delay_slots): Check that the jump is
+ conditional before trying to invert it.
+
2005-03-07 Kazu Hirata <kazu@cs.umass.edu>
* bb-reorder.c (max_entry_frequency, max_entry_frequency):
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 763f07b..09c8ea5 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)