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
This commit is contained in:
Richard Kenner 2001-03-22 00:21:16 +00:00 committed by Richard Kenner
parent 64ec27c320
commit 52d76e1128
2 changed files with 6 additions and 2 deletions

View File

@ -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.

View File

@ -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);