This patch sets -fsplit-wide-types-early for avr as it appears that the old placement of that pass gives better code for that target.

Applied as r380033.

Johann

        * common/config/avr/avr-common.c (avr_option_optimization_table)
        [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.

Index: common/config/avr/avr-common.c
===================================================================
--- common/config/avr/avr-common.c
+++ common/config/avr/avr-common.c
@@ -40,6 +40,8 @@ static const struct default_options avr_
     { OPT_LEVELS_ALL, OPT_fcaller_saves, NULL, 0 },
     { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_mgas_isr_prologues, NULL, 1 },
     { OPT_LEVELS_1_PLUS, OPT_mmain_is_OS_task, NULL, 1 },
+    // Stick to the "old" placement of the subreg lowering pass.
+    { OPT_LEVELS_1_PLUS, OPT_fsplit_wide_types_early, NULL, 1 },
     /* Allow optimizer to introduce store data races. This used to be the
        default -- it was changed because bigger targets did not see any
        performance decrease. For the AVR though, disallowing data races

Reply via email to