diff options
| author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-22 00:21:16 +0000 |
|---|---|---|
| committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-22 00:21:16 +0000 |
| commit | 232bbfffa922b7297ce128c02c5c5e405a5d0786 (patch) | |
| tree | 2c8de38ef1f3ec85d70197aaf4baca42e8d7512f | |
| parent | ed7a462dee7dd5c30765f3ca707642ef290d9733 (diff) | |
| download | ppe42-gcc-232bbfffa922b7297ce128c02c5c5e405a5d0786.tar.gz ppe42-gcc-232bbfffa922b7297ce128c02c5c5e405a5d0786.zip | |
* gcse.c (hash_scan_set): An expression is not anticipatible if it
is part of a multi-SET insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40722 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/gcse.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15a3dc92cca..64cdf7bb72b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * 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 4b5403a8c3a..cac80f9d4b9 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); |

