Hi, This series tries to do what Richard suggested in [*]:
Targets that have a tcg/ subdir should have helper.h.inc moved into there. At the end, include/exec/helper-gen.h and include/exec/helper-proto.h become unused and go away. but only for the ARM target, to first see if this is heading in the correct direction. Instead of having TCG generated helpers included by all translate/helper units, they are reduced to the few places really needing them. I expect the build step to be slighly improved, since the compiler doesn't have to compile and track unused helpers definitions. [*] https://lore.kernel.org/qemu-devel/cad000d7-f408-9337-9328-ccb262c5f...@linaro.org/ Philippe Mathieu-Daudé (22): plugins: Remove unused 'exec/helper-proto.h' header accel/tcg/cpu-exec: Use generic 'helper-proto-common.h' header target/arm/tcg: Remove CONFIG_TCG #ifdef'ry check target/arm/tcg: Rename helper template headers as '.h.inc' target/arm/tcg: Extract iwMMXt helpers from the generic 'helper.h' target/arm/tcg: Fix iwmmxt-related code style target/arm/tcg: Expose some iwmmxt methods in 'translate.h' target/arm/tcg: Extract iwmmxt code to translate-iwmmxt.c target/arm/tcg: Reduce 'helper-iwmmxt.h.inc' inclusion target/arm/tcg: Extract VFP definitions to 'helper-vfp.h.inc' target/arm/tcg: Reduce 'helper-vfp.h.inc' inclusion target/arm/tcg: Move neon_tbl() from op_helper.c to neon_helper.c target/arm/tcg: Extract NEON definitions to 'helper-neon.h.inc' target/arm/tcg: Reduce 'helper-neon.h.inc' inclusion target/arm/tcg: Extract SVE2 definitions to 'helper-sve.h.inc' target/arm/tcg: Reduce 'helper-sve.h.inc' inclusion target/arm/tcg: Reduce 'helper-mve.h.inc' inclusion target/arm/tcg: Define SME set_svcr() helper in common 'helper.h' target/arm/tcg: Reduce 'helper-sme.h.inc' inclusion target/arm/tcg: Reduce 'helper-a64.h.inc' inclusion target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h' tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc target/arm/tcg/translate.h | 11 +- .../tcg/{helper-a64.h => helper-a64.h.inc} | 0 target/arm/tcg/helper-iwmmxt.h.inc | 114 ++ .../tcg/{helper-mve.h => helper-mve.h.inc} | 0 target/arm/tcg/helper-neon.h.inc | 205 +++ .../tcg/{helper-sme.h => helper-sme.h.inc} | 2 - .../tcg/{helper-sve.h => helper-sve.h.inc} | 46 + target/arm/tcg/helper-vfp.h.inc | 136 ++ target/arm/{helper.h => tcg/helper.h.inc} | 488 +----- accel/tcg/cpu-exec.c | 2 +- plugins/core.c | 1 - target/arm/debug_helper.c | 7 +- target/arm/helper.c | 7 +- target/arm/tcg/cpu32.c | 4 +- target/arm/tcg/crypto_helper.c | 6 +- target/arm/tcg/helper-a64.c | 11 +- target/arm/tcg/hflags.c | 6 +- target/arm/tcg/iwmmxt_helper.c | 6 +- target/arm/tcg/m_helper.c | 12 +- target/arm/tcg/mte_helper.c | 5 +- target/arm/tcg/mve_helper.c | 16 +- target/arm/tcg/neon_helper.c | 28 +- target/arm/tcg/op_helper.c | 28 +- target/arm/tcg/pauth_helper.c | 5 +- target/arm/tcg/psci.c | 6 +- target/arm/tcg/sme_helper.c | 11 +- target/arm/tcg/sve_helper.c | 20 +- target/arm/tcg/tlb_helper.c | 5 +- target/arm/tcg/translate-a64.c | 16 + target/arm/tcg/translate-iwmmxt.c | 1340 +++++++++++++++++ target/arm/tcg/translate-mve.c | 6 + target/arm/tcg/translate-neon.c | 11 + target/arm/tcg/translate-sme.c | 16 + target/arm/tcg/translate-sve.c | 5 + target/arm/tcg/translate-vfp.c | 6 + target/arm/tcg/translate.c | 1274 +--------------- target/arm/tcg/vec_helper.c | 26 +- target/arm/vfp_helper.c | 11 +- tests/tcg/aarch64/bti-1.c | 2 +- tests/tcg/aarch64/bti-3.c | 2 +- .../aarch64/{bti-crt.inc.c => bti-crt.c.inc} | 0 target/arm/tcg/meson.build | 1 + 42 files changed, 2100 insertions(+), 1804 deletions(-) rename target/arm/tcg/{helper-a64.h => helper-a64.h.inc} (100%) create mode 100644 target/arm/tcg/helper-iwmmxt.h.inc rename target/arm/tcg/{helper-mve.h => helper-mve.h.inc} (100%) create mode 100644 target/arm/tcg/helper-neon.h.inc rename target/arm/tcg/{helper-sme.h => helper-sme.h.inc} (99%) rename target/arm/tcg/{helper-sve.h => helper-sve.h.inc} (98%) create mode 100644 target/arm/tcg/helper-vfp.h.inc rename target/arm/{helper.h => tcg/helper.h.inc} (56%) create mode 100644 target/arm/tcg/translate-iwmmxt.c rename tests/tcg/aarch64/{bti-crt.inc.c => bti-crt.c.inc} (100%) -- 2.38.1