avr-protos.h (expand_epilogue): Change prototype
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 22 Mar 2011 19:37:35 +0000 (19:37 +0000)
committerDenis Chertykov <denisc@gcc.gnu.org>
Tue, 22 Mar 2011 19:37:35 +0000 (22:37 +0300)
commit980a0ff422442a1a0695df63ea48352df9578b09
treecb05f74aaccc4fd5a149ffccc42ab439ef9855fe
parent0d8c8b1b0279efdbdd66361c0693f06f038f0f54
avr-protos.h (expand_epilogue): Change prototype

* 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.

From-SVN: r171300
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/avr.md