From: David S. Miller Date: Thu, 27 Apr 2000 04:26:08 +0000 (-0700) Subject: http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9485c46e30b039a08cff3df05f9bf6c61f14ce12;p=gcc.git gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html From-SVN: r33457 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e348a88b197..accca6f25ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-04-26 David S. Miller + + * optabs.c (emit_libcall_block): Verify insns with INSN_P before + taking a PATTERN of it. + 2000-04-26 * cpplex.c (spell_other, spell_char): Remove. diff --git a/gcc/optabs.c b/gcc/optabs.c index 304eb7400d2..2004f6afd0f 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -2789,7 +2789,8 @@ emit_libcall_block (insns, target, result, equiv) if (set != 0 && GET_CODE (SET_DEST (set)) == REG && REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER && (insn == insns - || (! reg_mentioned_p (SET_DEST (set), PATTERN (insns)) + || ((! INSN_P(insns) + || ! reg_mentioned_p (SET_DEST (set), PATTERN (insns))) && ! reg_used_between_p (SET_DEST (set), insns, insn) && ! modified_in_p (SET_SRC (set), insns) && ! modified_between_p (SET_SRC (set), insns, insn))))