summaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-22 00:21:16 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-22 00:21:16 +0000
commit232bbfffa922b7297ce128c02c5c5e405a5d0786 (patch)
tree2c8de38ef1f3ec85d70197aaf4baca42e8d7512f /gcc/gcse.c
parented7a462dee7dd5c30765f3ca707642ef290d9733 (diff)
downloadgcc-232bbfffa922b7297ce128c02c5c5e405a5d0786.tar.gz
* 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
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c5
1 files changed, 3 insertions, 2 deletions
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);