OSDN Git Service

http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Apr 2000 04:26:08 +0000 (04:26 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Apr 2000 04:26:08 +0000 (04:26 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33457 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/optabs.c

index e348a88..accca6f 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 304eb74..2004f6a 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))))