Revert due to PR40320:

2009-06-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* calls.c (emit_library_call_value_1): Don't force_operand for move
	and push insns.

From-SVN: r148046
This commit is contained in:
Maxim Kuvyrkov 2009-06-01 14:45:18 +00:00 committed by Maxim Kuvyrkov
parent 324c9b0242
commit ee88d9aa55
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2009-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
Revert due to PR40320:
2009-06-01 Maxim Kuvyrkov <maxim@codesourcery.com>
* calls.c (emit_library_call_value_1): Don't force_operand for move
and push insns.
2009-06-01 Olivier Hainque <hainque@adacore.com>
Eric Botcazou <botcazou@adacore.com>

View File

@ -3412,6 +3412,11 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
nargs++;
/* Make sure it is a reasonable operand for a move or push insn. */
if (!REG_P (addr) && !MEM_P (addr)
&& ! (CONSTANT_P (addr) && LEGITIMATE_CONSTANT_P (addr)))
addr = force_operand (addr, NULL_RTX);
argvec[count].value = addr;
argvec[count].mode = Pmode;
argvec[count].partial = 0;
@ -3447,6 +3452,11 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
gcc_assert (mode != BLKmode
&& (GET_MODE (val) == mode || GET_MODE (val) == VOIDmode));
/* Make sure it is a reasonable operand for a move or push insn. */
if (!REG_P (val) && !MEM_P (val)
&& ! (CONSTANT_P (val) && LEGITIMATE_CONSTANT_P (val)))
val = force_operand (val, NULL_RTX);
if (pass_by_reference (&args_so_far, mode, NULL_TREE, 1))
{
rtx slot;