]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Enable parsing of user-provided AArch64 CPU tuning parameters
authorSoumya AR <soumyaa@nvidia.com>
Wed, 16 Jul 2025 13:29:57 +0000 (06:29 -0700)
committerSoumya AR <soumyaa@nvidia.com>
Wed, 26 Nov 2025 08:41:32 +0000 (14:11 +0530)
commitefbaf167598be4eee4a8373f9546df441cc8a53f
treec6737180408e202caba3290efcf92c21c4375da1
parent0cf34825923d9fc82e3d015e9bc7d0b253bd9348
aarch64: Enable parsing of user-provided AArch64 CPU tuning parameters

This patch adds support for loading custom CPU tuning parameters from a JSON
file for AArch64 targets. The '-muser-provided-CPU=' flag accepts a user
provided JSON file and overrides the internal tuning parameters at GCC runtime.

This patch was bootstrapped and regtested on aarch64-linux-gnu, no regression.

Signed-off-by: Soumya AR <soumyaa@nvidia.com>
gcc/ChangeLog:

* config.gcc: Add aarch64-json-tunings-parser.o.
* config/aarch64/aarch64.cc (aarch64_override_options_internal): Invoke
aarch64_load_tuning_params_from_json if -muser-provided-CPU= is
(aarch64_json_tunings_tests): Extern aarch64_json_tunings_tests().
(aarch64_run_selftests): Add aarch64_json_tunings_tests().
* config/aarch64/aarch64.opt: New option.
* config/aarch64/t-aarch64 (aarch64-json-tunings-parser.o): New define.
* config/aarch64/aarch64-json-schema.h: New file.
* config/aarch64/aarch64-json-tunings-parser.cc: New file.
* config/aarch64/aarch64-json-tunings-parser.h: New file.
gcc/config.gcc
gcc/config/aarch64/aarch64-json-schema.h [new file with mode: 0644]
gcc/config/aarch64/aarch64-json-tunings-parser.cc [new file with mode: 0644]
gcc/config/aarch64/aarch64-json-tunings-parser.h [new file with mode: 0644]
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.opt
gcc/config/aarch64/t-aarch64