re PR rtl-optimization/64010 ([msp430-elf] struct function dereference clobbers parameter passed to function)

PR rtl-optimization/64010
	* reload.c (push_reload): Before reusing a register contained
	in an operand as input reload register, ensure that it is not
	used in CALL_INSN_FUNCTION_USAGE.

From-SVN: r218335
This commit is contained in:
Ulrich Weigand 2014-12-03 21:59:10 +00:00 committed by Ulrich Weigand
parent 380abb4206
commit bc04abff10
2 changed files with 8 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2014-12-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR rtl-optimization/64010
* reload.c (push_reload): Before reusing a register contained
in an operand as input reload register, ensure that it is not
used in CALL_INSN_FUNCTION_USAGE.
2014-12-03 Ulrich Drepper <drepper@gmail.com>
* Makefile.in: Use $(LN_S) instead of $(LN) -s and remove file first

View File

@ -1625,6 +1625,7 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc,
end_hard_regno (rel_mode,
regno),
PATTERN (this_insn), inloc)
&& ! find_reg_fusage (this_insn, USE, XEXP (note, 0))
/* If this is also an output reload, IN cannot be used as
the reload register if it is set in this insn unless IN
is also OUT. */