From 0980d7fe0b2f311dfc8e8d644d07a0a04f3cdf0c Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Mon, 1 Jun 2009 11:18:29 +0000 Subject: 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 --- gcc/ChangeLog | 5 +++++ 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 + + * calls.c (emit_library_call_value_1): Don't force_operand for move + and push insns. + 2009-06-01 Nick Clifton * 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; -- cgit v1.1