From 52d76e11287d0e4c7d9464cc4a5d4462da1425d2 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 22 Mar 2001 00:21:16 +0000 Subject: gcse.c (hash_scan_set): An expression is not anticipatible if it is part of a multi-SET insn. * gcse.c (hash_scan_set): An expression is not anticipatible if it is part of a multi-SET insn. From-SVN: r40722 --- gcc/ChangeLog | 3 +++ gcc/gcse.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15a3dc9..64cdf7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Wed Mar 21 14:27:11 2001 Richard Kenner + * gcse.c (hash_scan_set): An expression is not anticipatible if it + is part of a multi-SET insn. + * cse.c (find_comparison_args): Remove previous change. * ifcvt.c (noce_process_if_block): When moving an insn, remove any REG_EQUAL notes. diff --git a/gcc/gcse.c b/gcc/gcse.c index 4b5403a..cac80f9 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -1967,8 +1967,9 @@ hash_scan_set (pat, insn, set_p) && src != dest) { /* An expression is not anticipatable if its operands are - modified before this insn. */ - int antic_p = oprs_anticipatable_p (src, insn); + modified before this insn or if this is not the only SET in + this insn. */ + int antic_p = oprs_anticipatable_p (src, insn) && single_set (insn); /* An expression is not available if its operands are subsequently modified, including this insn. */ int avail_p = oprs_available_p (src, insn); -- cgit v1.1