OSDN Git Service

* combine.c (try_combine): Handle a SEQUENCE of one insn.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Oct 2001 06:55:16 +0000 (06:55 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Oct 2001 06:55:16 +0000 (06:55 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46177 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/combine.c

index 1b06df2..90ff4bc 100644 (file)
@@ -1,3 +1,12 @@
+2001-10-10  Richard Henderson  <rth@redhat.com>
+
+        * combine.c (try_combine): Handle a SEQUENCE of one insn.
+
+2001-10-10  Richard Henderson  <rth@redhat.com>
+
+       * langhooks.c: Include langhooks.h.
+       * Makefile.in (langhooks.o): Depend on it.
+
 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
 
        * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
index 43b1b9e..12225db 100644 (file)
@@ -2132,6 +2132,12 @@ try_combine (i3, i2, i1, new_direct_jump_p)
            }
        }
 
+      /* If we've split a jump pattern, we'll wind up with a sequence even
+        with one instruction.  We can handle that below, so extract it.  */
+      if (m_split && GET_CODE (m_split) == SEQUENCE
+         && XVECLEN (m_split, 0) == 1)
+       m_split = PATTERN (XVECEXP (m_split, 0, 0));
+
       if (m_split && GET_CODE (m_split) != SEQUENCE)
        {
          insn_code_number = recog_for_combine (&m_split, i3, &new_i3_notes);