2018-01-08 20:19 GMT+04:00 Georg-Johann Lay <a...@gjlay.de>:
> This PR skips saving of any registers in main.
>
> Attribute OS_main can do this as well, however we can just drop
> any saves / restores in all optimized compilation -- not even
> the test suite needs these saves.
>
> The feature can still be switched off by new -mno-OS_main
>
> Ok for trunk?

I like it.

Please commit.

>
>
> gcc/
>         Don't save registers in main().
>
>         PR target/83737
>         * doc/invoke.texi (AVR Options) [-mOS_main]: Document it.
>         * config/avr/avr.opt (-mOS_main): New target option.
>         * config/avr/avr.c (avr_in_main_p): New static function.
>         (avr_regs_to_save) [avr_in_main_p]: Return 0.
>         (avr_prologue_setup_frame): Don't save any regs if avr_in_main_p.
>         (avr_expand_epilogue): Same.
>         * common/config/avr/avr-common.c (avr_option_optimization_table):
>         Switch on -mOS_main for optimizing compilations.

Reply via email to