regmove.c (optimize_reg_copy_1): Don't try to replace call-used hard registers.

* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
	hard registers.

From-SVN: r85149
This commit is contained in:
Daniel Jacobowitz 2004-07-25 17:01:49 +00:00 committed by Daniel Jacobowitz
parent a9315f6690
commit 97b69e514a
2 changed files with 8 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2004-07-25 Daniel Jacobowitz <dan@debian.org>
* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
hard registers.
2004-07-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree-ssa-operands.c (get_stmt_operands, get_expr_operands):

View file

@ -431,6 +431,9 @@ optimize_reg_copy_1 (rtx insn, rtx dest, rtx src)
|| (sregno < FIRST_PSEUDO_REGISTER
&& asm_noperands (PATTERN (p)) >= 0
&& reg_overlap_mentioned_p (src, PATTERN (p)))
/* Don't change hard registers used by a call. */
|| (CALL_P (p) && sregno < FIRST_PSEUDO_REGISTER
&& find_reg_fusage (p, USE, src))
/* Don't change a USE of a register. */
|| (GET_CODE (PATTERN (p)) == USE
&& reg_overlap_mentioned_p (src, XEXP (PATTERN (p), 0))))