OSDN Git Service

* reorg.c (relax_delay_slots): Check that the jump is
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Mar 2005 15:46:59 +0000 (15:46 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Mar 2005 15:46:59 +0000 (15:46 +0000)
conditional before trying to invert it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96027 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/reorg.c

index 986b1da..9c6b448 100644 (file)
@@ -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):
index 763f07b..09c8ea5 100644 (file)
@@ -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)