diff options
author | David S. Miller <davem@redhat.com> | 2000-04-26 21:26:08 -0700 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2000-04-26 21:26:08 -0700 |
commit | 9485c46e30b039a08cff3df05f9bf6c61f14ce12 (patch) | |
tree | 3c91936df28f5e2bafa770876445d9bb87f9a1ac | |
parent | cfd5b8b852ce51b5d7bc2d168f31ace425958308 (diff) | |
download | gcc-9485c46e30b039a08cff3df05f9bf6c61f14ce12.zip gcc-9485c46e30b039a08cff3df05f9bf6c61f14ce12.tar.gz gcc-9485c46e30b039a08cff3df05f9bf6c61f14ce12.tar.bz2 |
http://gcc.gnu.org/ml/gcc-patches/2000-04/msg01057.html
From-SVN: r33457
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/optabs.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e348a88..accca6f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/optabs.c b/gcc/optabs.c index 304eb74..2004f6a 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)))) |