aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-10-10 23:55:16 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-10-10 23:55:16 -0700
commit7f16eed442ca3fe62781be3711e4fcd514f91769 (patch)
tree7331573cf0aa23df8cd523a0e0d5aa960e5da357 /gcc
parent59bee412cc7feeedb14c2ee52f418f2bf498ca99 (diff)
downloadgcc-7f16eed442ca3fe62781be3711e4fcd514f91769.zip
gcc-7f16eed442ca3fe62781be3711e4fcd514f91769.tar.gz
gcc-7f16eed442ca3fe62781be3711e4fcd514f91769.tar.bz2
* combine.c (try_combine): Handle a SEQUENCE of one insn.
From-SVN: r46177
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/combine.c6
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1b06df2..90ff4bc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/combine.c b/gcc/combine.c
index 43b1b9e9..12225db 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -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);