diff options
author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2009-06-01 11:18:29 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <mkuvyrkov@gcc.gnu.org> | 2009-06-01 11:18:29 +0000 |
commit | 0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c (patch) | |
tree | 17151aab66e4fba85585151b3028d41380999497 | |
parent | 29661412e3fe401fcfc0a5e432973c48005a1943 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/calls.c | 10 |
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; |