summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-17 17:05:05 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-17 17:05:05 +0000
commitaa7aa40316af14330682a6b927d3d5675c9e5505 (patch)
tree9ecd773d8f70d4756103d7af57c47c41c90354fb /gcc/calls.c
parent91ebded8a38290059ebac02b2c4ffce08d4dc64b (diff)
downloadgcc-aa7aa40316af14330682a6b927d3d5675c9e5505.tar.gz
2008-12-17 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/38556 * calls.c (expand_call): Check outgoing_reg_parm_stack_space only if REG_PARM_STACK_SPACE is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142794 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index b94d29800a8..f6bc970b71b 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2298,10 +2298,12 @@ expand_call (tree exp, rtx target, int ignore)
It does not seem worth the effort since few optimizable
sibling calls will return a structure. */
|| structure_value_addr != NULL_RTX
+#ifdef REG_PARM_STACK_SPACE
/* If outgoing reg parm stack space changes, we can not do sibcall. */
|| (OUTGOING_REG_PARM_STACK_SPACE (funtype)
!= OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl)))
|| (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl))
+#endif
/* Check whether the target is able to optimize the call
into a sibcall. */
|| !targetm.function_ok_for_sibcall (fndecl, exp)