* config/avr/avr-protos.h (expand_epilogue): Change prototype
authordenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Mar 2011 19:37:35 +0000 (19:37 +0000)
committerdenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Mar 2011 19:37:35 +0000 (19:37 +0000)
commit32969c6301b01a95c52e761d785191e039a236eb
treecb05f74aaccc4fd5a149ffccc42ab439ef9855fe
parentacd2c72c98e2ea43447d7a021dbf78b1b1416b83
* config/avr/avr-protos.h (expand_epilogue): Change prototype
* config/avr/avr.h (struct machine_function): Add field sibcall_fails.
* config/avr/avr.c (init_cumulative_args)
(avr_function_arg_advance): Use it.
* config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
sibcall epilogues.
(TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
(avr_function_ok_for_sibcall): ...this new function.
(avr_lookup_function_attribute1): New static Function.
(avr_naked_function_p, interrupt_function_p)
(signal_function_p, avr_OS_task_function_p)
(avr_OS_main_function_p): Use it.
* config/avr/avr.md ("sibcall", "sibcall_value")
("sibcall_epilogue"): New expander.
("*call_insn", "*call_value_insn"): New insn.
("call_insn", "call_value_insn"): Remove
("call", "call_value", "epilogue"): Change expander to handle
sibling calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171300 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/avr.md