aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2009-06-01 11:18:29 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2009-06-01 11:18:29 +0000
commit0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c (patch)
tree17151aab66e4fba85585151b3028d41380999497
parent29661412e3fe401fcfc0a5e432973c48005a1943 (diff)
downloadgcc-0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c.zip
gcc-0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c.tar.gz
gcc-0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c.tar.bz2
calls.c (emit_library_call_value_1): Don't force_operand for move and push insns.
* calls.c (emit_library_call_value_1): Don't force_operand for move and push insns. From-SVN: r148039
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/calls.c10
2 files changed, 5 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 633bc6e..f589b8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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 Nick Clifton <nickc@redhat.com>
* doc/invoke.texi (IA-64 Options): Fix typo.
diff --git a/gcc/calls.c b/gcc/calls.c
index c10b0cd..0d83ff4 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -3412,11 +3412,6 @@ 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;
@@ -3452,11 +3447,6 @@ 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;