gcse.c (hash_scan_set): Expressions that are set as part of jump instructions are not available.

* gcse.c (hash_scan_set): Expressions that are set as part of
	jump instructions are not available.

From-SVN: r44872
This commit is contained in:
Geoffrey Keating 2001-08-13 21:42:10 +00:00 committed by Geoffrey Keating
parent 586b870d4f
commit eb296bd9be
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2001-08-13 Geoffrey Keating <geoffk@redhat.com>
* gcse.c (hash_scan_set): Expressions that are set as part of
jump instructions are not available.
2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (print_operand, s390_function_prologue,

View File

@ -2191,8 +2191,11 @@ hash_scan_set (pat, insn, set_p)
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);
subsequently modified, including this insn. It's also not
available if this is a branch, because we can't insert
a set after the branch. */
int avail_p = (oprs_available_p (src, insn)
&& ! JUMP_P (insn));
insert_expr_in_table (src, GET_MODE (dest), insn, antic_p, avail_p);
}