Commit ee88d9aa by Maxim Kuvyrkov Committed by Maxim Kuvyrkov

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
parent 324c9b02
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>
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment