aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@gcc.gnu.org>2008-12-17 09:05:05 -0800
committerH.J. Lu <hjl@gcc.gnu.org>2008-12-17 09:05:05 -0800
commit130423d78931b7e253cc299c7aa3df9494814fe0 (patch)
tree9ecd773d8f70d4756103d7af57c47c41c90354fb /gcc/calls.c
parent0e456625276c293c62302c6c4d38d995e2b59880 (diff)
downloadgcc-130423d78931b7e253cc299c7aa3df9494814fe0.zip
gcc-130423d78931b7e253cc299c7aa3df9494814fe0.tar.gz
gcc-130423d78931b7e253cc299c7aa3df9494814fe0.tar.bz2
re PR middle-end/38556 (Revision 142792 breaks bootstrap)
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. From-SVN: r142794
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 b94d298..f6bc970 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)