aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2005-07-14 07:39:56 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2005-07-14 07:39:56 +0000
commit1d636cc69fa14e7f7daa4eef6ecb6a6a1413cfda (patch)
treedb222e8988c1c3f0439e84b38f6bc6ae99babae0 /gcc/explow.c
parent94b00ee4e1126901db295a7223b3c6d7c5b1868d (diff)
downloadgcc-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.c14
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)