Commit 0e456625 by Jan Hubicka Committed by Jan Hubicka

calls.c (expand_call): Do not sibcall if outgoing_reg_parm_stack_space does not match.

	* calls.c (expand_call): Do not sibcall if
	outgoing_reg_parm_stack_space does not match.

Co-Authored-By: Kai Tietz <kai.tietz@onevision.com>

From-SVN: r142792
parent 8c13133c
2008-12-12 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>
* config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
......@@ -2298,6 +2298,10 @@ 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
/* 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))
/* 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