Commit 130423d7 by H.J. Lu

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
parent 0e456625
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
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment