http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html
authorDavid S. Miller <davem@redhat.com>
Thu, 27 Apr 2000 04:26:08 +0000 (21:26 -0700)
committerDavid S. Miller <davem@gcc.gnu.org>
Thu, 27 Apr 2000 04:26:08 +0000 (21:26 -0700)
From-SVN: r33457

gcc/ChangeLog
gcc/optabs.c

index e348a88b19784dd5a1418c077c8c417c9d0f2924..accca6f25accaea6c8f351900a3e8b7f140c7614 100644 (file)
@@ -1,3 +1,8 @@
+2000-04-26  David S. Miller  <davem@redhat.com>
+
+       * optabs.c (emit_libcall_block): Verify insns with INSN_P before
+       taking a PATTERN of it.
+
 2000-04-26  <NeilB@earthling.net>
 
        * cpplex.c (spell_other, spell_char): Remove.
index 304eb7400d2b6f699a04e60e957faeb598f28e4e..2004f6afd0f3538f00bb5f9e98bfac66c068c33e 100644 (file)
@@ -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))))