https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83737
--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- Author: gjl Date: Tue Jan 9 10:38:45 2018 New Revision: 256373 URL: https://gcc.gnu.org/viewcvs?rev=256373&root=gcc&view=rev Log: gcc/ Don't save registers in main(). PR target/83737 * doc/invoke.texi (AVR Options) [-mmain-is-OS_task]: Document it. * config/avr/avr.opt (-mmain-is-OS_task): New target option. * config/avr/avr.c (avr_set_current_function): Don't error if naked, OS_task or OS_main are specified at the same time. (avr_function_ok_for_sibcall): Don't disable sibcalls for OS_task, OS_main. (avr_insert_attributes) [-mmain-is-OS_task] <main>: Add OS_task attribute. * common/config/avr/avr-common.c (avr_option_optimization_table): Switch on -mmain-is-OS_task for optimizing compilations. Modified: trunk/gcc/ChangeLog trunk/gcc/common/config/avr/avr-common.c trunk/gcc/config/avr/avr.c trunk/gcc/config/avr/avr.opt trunk/gcc/doc/invoke.texi