gcc/ * config/xtensa/xtensa.cc (xtensa_option_override_after_change): New function. (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define as xtensa_option_override_after_change. (xtensa_option_override): Call xtensa_option_override_after_change. --- gcc/config/xtensa/xtensa.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index d49d224466ad..10d964b51a96 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -114,6 +114,7 @@ struct GTY(()) machine_function }; static void xtensa_option_override (void); +static void xtensa_option_override_after_change (void); static enum internal_test map_test_to_internal_test (enum rtx_code); static rtx gen_int_relational (enum rtx_code, rtx, rtx); static rtx gen_float_relational (enum rtx_code, rtx, rtx); @@ -303,6 +304,9 @@ static rtx xtensa_delegitimize_address (rtx); #undef TARGET_OPTION_OVERRIDE #define TARGET_OPTION_OVERRIDE xtensa_option_override +#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE +#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE xtensa_option_override_after_change + #undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA #define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA xtensa_output_addr_const_extra @@ -2988,6 +2992,15 @@ xtensa_option_override (void) the define_insn_and_splits are fixed. */ if (!OPTION_SET_P (flag_late_combine_instructions)) flag_late_combine_instructions = 0; + + xtensa_option_override_after_change (); +} + +static void +xtensa_option_override_after_change (void) +{ + if (!OPTION_SET_P (flag_late_combine_instructions)) + flag_late_combine_instructions = 0; } /* Implement TARGET_HARD_REGNO_NREGS. */ -- 2.39.2