aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/calls.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3b263c7..fae5a0f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,10 +1,16 @@
-2008-12-12 Jan Hubicka <jh@suse.cz>
+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.
+
+2008-12-17 Jan Hubicka <jh@suse.cz>
Kai Tietz <kai.tietz@onevision.com>
* calls.c (expand_call): Do not sibcall if
outgoing_reg_parm_stack_space does not match.
-2008-12-12 Anatoly Sokolov <aesok@post.ru>
+2008-12-16 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
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)