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> Kai Tietz <kai.tietz@onevision.com>
* calls.c (expand_call): Do not sibcall if * calls.c (expand_call): Do not sibcall if
outgoing_reg_parm_stack_space does not match. 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, * config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
...@@ -2298,10 +2298,12 @@ expand_call (tree exp, rtx target, int ignore) ...@@ -2298,10 +2298,12 @@ expand_call (tree exp, rtx target, int ignore)
It does not seem worth the effort since few optimizable It does not seem worth the effort since few optimizable
sibling calls will return a structure. */ sibling calls will return a structure. */
|| structure_value_addr != NULL_RTX || structure_value_addr != NULL_RTX
#ifdef REG_PARM_STACK_SPACE
/* If outgoing reg parm stack space changes, we can not do sibcall. */ /* If outgoing reg parm stack space changes, we can not do sibcall. */
|| (OUTGOING_REG_PARM_STACK_SPACE (funtype) || (OUTGOING_REG_PARM_STACK_SPACE (funtype)
!= OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))) != OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl)))
|| (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl)) || (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl))
#endif
/* Check whether the target is able to optimize the call /* Check whether the target is able to optimize the call
into a sibcall. */ into a sibcall. */
|| !targetm.function_ok_for_sibcall (fndecl, exp) || !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