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
This commit is contained in:
H.J. Lu 2008-12-17 09:05:05 -08:00
parent 0e45662527
commit 130423d789
2 changed files with 10 additions and 2 deletions

View file

@ -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

View file

@ -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)