diff options
author | Richard Guenther <rguenther@suse.de> | 2005-07-14 07:39:56 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2005-07-14 07:39:56 +0000 |
commit | 1d636cc69fa14e7f7daa4eef6ecb6a6a1413cfda (patch) | |
tree | db222e8988c1c3f0439e84b38f6bc6ae99babae0 /gcc/explow.c | |
parent | 94b00ee4e1126901db295a7223b3c6d7c5b1868d (diff) | |
download | gcc-1d636cc69fa14e7f7daa4eef6ecb6a6a1413cfda.zip gcc-1d636cc69fa14e7f7daa4eef6ecb6a6a1413cfda.tar.gz gcc-1d636cc69fa14e7f7daa4eef6ecb6a6a1413cfda.tar.bz2 |
Makefile.in (explow.o, [...]): Depend on target.h.
2005-07-14 Richard Guenther <rguenther@suse.de>
* Makefile.in (explow.o, reg-stack.o): Depend on target.h.
* calls.c (expand_call): Pass fntype to hard_function_value.
(emit_library_call_value_1): Likewise.
* explow.c: Include target.h.
(hard_function_value): Take extra argument, the fntype.
Use new target hook for function_value.
* expr.h (hard_function_value): Change prototype.
* function.c (aggregate_value_p): Pass 0 as fntype to
hard_function_value.
(assign_parms): Use new target hook for function_value.
Pass 0 as fntype to hard_function_value.
(expand_function_end): Likewise.
* reg-stack.c: Include target.h.
(stack_result): Use new target hook for function_value.
* target-def.h: New target hook function_value.
* target.h: Likewise.
* targhooks.c (default_function_value): New function.
* targhooks.h (default_function_value): Declare.
From-SVN: r102013
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 510525e..23b124f 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -37,6 +37,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "ggc.h" #include "recog.h" #include "langhooks.h" +#include "target.h" static rtx break_out_memory_refs (rtx); static void emit_stack_probe (rtx); @@ -1405,24 +1406,19 @@ probe_stack_range (HOST_WIDE_INT first, rtx size) /* Return an rtx representing the register or memory location in which a scalar value of data type VALTYPE was returned by a function call to function FUNC. - FUNC is a FUNCTION_DECL node if the precise function is known, - otherwise 0. + FUNC is a FUNCTION_DECL, FNTYPE a FUNCTION_TYPE node if the precise + function is known, otherwise 0. OUTGOING is 1 if on a machine with register windows this function should return the register in which the function will put its result and 0 otherwise. */ rtx -hard_function_value (tree valtype, tree func ATTRIBUTE_UNUSED, +hard_function_value (tree valtype, tree func, tree fntype, int outgoing ATTRIBUTE_UNUSED) { rtx val; -#ifdef FUNCTION_OUTGOING_VALUE - if (outgoing) - val = FUNCTION_OUTGOING_VALUE (valtype, func); - else -#endif - val = FUNCTION_VALUE (valtype, func); + val = targetm.calls.function_value (valtype, func ? func : fntype, outgoing); if (REG_P (val) && GET_MODE (val) == BLKmode) |