diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 986b1da9e1a903fcc37403240956ed7f79e75f99..9c6b4483e0442f3d4783b99c1b1c73fd0bba0175 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 763f07b86cbd254597f7518fc9e197fb8a64d28e..09c8ea583c5d4ed3fc6f24ed6bf8b4699c5abdca 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)