https://gcc.gnu.org/g:997bba31ea8c1f7b4b7227e18afa8adb734ee946
commit r15-7187-g997bba31ea8c1f7b4b7227e18afa8adb734ee946 Author: Andrew Carlotti <andrew.carlo...@arm.com> Date: Wed Jan 8 20:06:09 2025 +0000 aarch64: Replace duplicate cpu enums Replace `enum aarch64_processor` and `enum target_cpus` with `enum aarch64_cpu`, and prefix the entries with `AARCH64_CPU_`. Also rename aarch64_none to aarch64_no_cpu. gcc/ChangeLog: * config/aarch64/aarch64-opts.h (enum aarch64_processor): Rename to... (enum aarch64_cpu): ...this, and rename the entries. * config/aarch64/aarch64.cc (aarch64_type): Rename type and initial value. (struct processor): Rename member types. (all_architectures): Rename enum members. (all_cores): Ditto. (aarch64_get_tune_cpu): Rename type and enum member. * config/aarch64/aarch64.h (enum target_cpus): Remove. (TARGET_CPU_DEFAULT): Rename default value. (aarch64_tune): Rename type. * config/aarch64/aarch64.opt: (selected_tune): Rename type and default value. Diff: --- gcc/config/aarch64/aarch64-opts.h | 6 +++--- gcc/config/aarch64/aarch64.cc | 18 +++++++++--------- gcc/config/aarch64/aarch64.h | 11 ++--------- gcc/config/aarch64/aarch64.opt | 2 +- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h index 3f0b1e9414c3..a6ca5cf016b0 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h @@ -38,13 +38,13 @@ typedef bbitmap<2> aarch64_feature_flags; #endif /* The various cores that implement AArch64. */ -enum aarch64_processor +enum aarch64_cpu { #define AARCH64_CORE(NAME, INTERNAL_IDENT, SCHED, ARCH, FLAGS, COSTS, IMP, PART, VARIANT) \ - INTERNAL_IDENT, + AARCH64_CPU_##INTERNAL_IDENT, #include "aarch64-cores.def" /* Used to mark the end of the processor table. */ - aarch64_none + aarch64_no_cpu }; enum aarch64_arch diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index e7a75411f071..4d3b28b4cdb4 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -357,7 +357,7 @@ static bool aarch64_print_address_internal (FILE*, machine_mode, rtx, aarch64_addr_query_type); /* The processor for which instructions should be scheduled. */ -enum aarch64_processor aarch64_tune = cortexa53; +enum aarch64_cpu aarch64_tune = AARCH64_CPU_cortexa53; /* Global flag for PC relative loads. */ bool aarch64_pcrelative_literal_loads; @@ -451,8 +451,8 @@ aarch64_tuning_override_functions[] = struct processor { const char *name; - aarch64_processor ident; - aarch64_processor sched_core; + aarch64_cpu ident; + aarch64_cpu sched_core; aarch64_arch arch; aarch64_feature_flags flags; const tune_params *tune; @@ -462,20 +462,20 @@ struct processor static CONSTEXPR const processor all_architectures[] = { #define AARCH64_ARCH(NAME, CORE, ARCH_IDENT, D, E) \ - {NAME, CORE, CORE, AARCH64_ARCH_##ARCH_IDENT, \ + {NAME, AARCH64_CPU_##CORE, AARCH64_CPU_##CORE, AARCH64_ARCH_##ARCH_IDENT, \ feature_deps::ARCH_IDENT ().enable, NULL}, #include "aarch64-arches.def" - {NULL, aarch64_none, aarch64_none, aarch64_no_arch, 0, NULL} + {NULL, aarch64_no_cpu, aarch64_no_cpu, aarch64_no_arch, 0, NULL} }; /* Processor cores implementing AArch64. */ static const struct processor all_cores[] = { #define AARCH64_CORE(NAME, IDENT, SCHED, ARCH, E, COSTS, G, H, I) \ - {NAME, IDENT, SCHED, AARCH64_ARCH_##ARCH, \ + {NAME, AARCH64_CPU_##IDENT, AARCH64_CPU_##SCHED, AARCH64_ARCH_##ARCH, \ feature_deps::cpu_##IDENT, &COSTS##_tunings}, #include "aarch64-cores.def" - {NULL, aarch64_none, aarch64_none, aarch64_no_arch, 0, NULL} + {NULL, aarch64_no_cpu, aarch64_no_cpu, aarch64_no_arch, 0, NULL} }; /* Internal representation of system registers. */ typedef struct { @@ -18566,9 +18566,9 @@ initialize_aarch64_tls_size (struct gcc_options *opts) /* Return the CPU corresponding to the enum CPU. */ static const struct processor * -aarch64_get_tune_cpu (enum aarch64_processor cpu) +aarch64_get_tune_cpu (enum aarch64_cpu cpu) { - gcc_assert (cpu != aarch64_none); + gcc_assert (cpu != aarch64_no_cpu); return &all_cores[cpu]; } diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 1a19b27fd934..6f7a73fe1d7e 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -928,16 +928,9 @@ enum reg_class /* CPU/ARCH option handling. */ #include "config/aarch64/aarch64-opts.h" -enum target_cpus -{ -#define AARCH64_CORE(NAME, INTERNAL_IDENT, SCHED, ARCH, FLAGS, COSTS, IMP, PART, VARIANT) \ - TARGET_CPU_##INTERNAL_IDENT, -#include "aarch64-cores.def" -}; - /* If there is no CPU defined at configure, use generic as default. */ #ifndef TARGET_CPU_DEFAULT -# define TARGET_CPU_DEFAULT TARGET_CPU_generic_armv8_a +# define TARGET_CPU_DEFAULT AARCH64_CPU_generic_armv8_a #endif /* If inserting NOP before a mult-accumulate insn remember to adjust the @@ -953,7 +946,7 @@ enum target_cpus aarch64_final_prescan_insn (INSN); \ /* The processor for which instructions should be scheduled. */ -extern enum aarch64_processor aarch64_tune; +extern enum aarch64_cpu aarch64_tune; /* RTL generation support. */ #define INIT_EXPANDERS aarch64_init_expanders () diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt index 7e309d9efe46..f32d56d4ffae 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt @@ -25,7 +25,7 @@ HeaderInclude config/arm/aarch-common.h TargetVariable -enum aarch64_processor selected_tune = aarch64_none +enum aarch64_cpu selected_tune = aarch64_no_cpu TargetVariable enum aarch64_arch selected_arch = aarch64_no_arch