aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2024-07-19 17:27:03 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2024-07-29 12:05:56 -0700
commit9d5d6e61500411ea9043258e300d5b0f57e5c391 (patch)
tree8287c142c76ef99337cb30e2230b4569b6d2fe7c /gcc
parenta7d6f7327e9211fbb4a800c06d00c4555dbffcec (diff)
downloadgcc-9d5d6e61500411ea9043258e300d5b0f57e5c391.zip
gcc-9d5d6e61500411ea9043258e300d5b0f57e5c391.tar.gz
gcc-9d5d6e61500411ea9043258e300d5b0f57e5c391.tar.bz2
gcc: xtensa: disable late-combine by default
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/xtensa/xtensa.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index d49d224..10d964b 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. */