summaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-14 07:39:56 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-14 07:39:56 +0000
commit46b3ff29296568882d5ec4f6796ae9a28879971b (patch)
treedb222e8988c1c3f0439e84b38f6bc6ae99babae0 /gcc/reg-stack.c
parentf9eef6699aae8596611d814f6d8695432137b68c (diff)
downloadgcc-46b3ff29296568882d5ec4f6796ae9a28879971b.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102013 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r--gcc/reg-stack.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index d1d8b9894bd..9f44f518095 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -172,6 +172,7 @@
#include "ggc.h"
#include "timevar.h"
#include "tree-pass.h"
+#include "target.h"
/* We use this array to cache info about insns, because otherwise we
spend too much time in stack_regs_mentioned_p.
@@ -667,14 +668,8 @@ stack_result (tree decl)
result = DECL_RTL_IF_SET (DECL_RESULT (decl));
if (result != 0)
- {
-#ifdef FUNCTION_OUTGOING_VALUE
- result
- = FUNCTION_OUTGOING_VALUE (TREE_TYPE (DECL_RESULT (decl)), decl);
-#else
- result = FUNCTION_VALUE (TREE_TYPE (DECL_RESULT (decl)), decl);
-#endif
- }
+ result = targetm.calls.function_value (TREE_TYPE (DECL_RESULT (decl)),
+ decl, true);
return result != 0 && STACK_REG_P (result) ? result : 0;
}