From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
qemu-arm@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 00/22] target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h'
Date: Fri, 9 Jun 2023 12:46:55 +0200 [thread overview]
Message-ID: <20230609104717.95555-1-philmd@linaro.org> (raw)
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-ccb262c5fcc7@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
next reply other threads:[~2023-06-09 10:48 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-09 10:46 Philippe Mathieu-Daudé [this message]
2023-06-09 10:46 ` [PATCH 01/22] plugins: Remove unused 'exec/helper-proto.h' header Philippe Mathieu-Daudé
2023-06-09 18:10 ` Richard Henderson
2023-06-09 10:46 ` [PATCH 02/22] accel/tcg/cpu-exec: Use generic 'helper-proto-common.h' header Philippe Mathieu-Daudé
2023-06-09 18:13 ` Richard Henderson
2023-06-09 10:46 ` [PATCH 03/22] target/arm/tcg: Remove CONFIG_TCG #ifdef'ry check Philippe Mathieu-Daudé
2023-06-09 18:15 ` Richard Henderson
2023-06-09 10:46 ` [PATCH 04/22] target/arm/tcg: Rename helper template headers as '.h.inc' Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 05/22] target/arm/tcg: Extract iwMMXt helpers from the generic 'helper.h' Philippe Mathieu-Daudé
2023-06-09 19:49 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 06/22] target/arm/tcg: Fix iwmmxt-related code style Philippe Mathieu-Daudé
2023-06-09 18:18 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 07/22] target/arm/tcg: Expose some iwmmxt methods in 'translate.h' Philippe Mathieu-Daudé
2023-06-09 18:19 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 08/22] target/arm/tcg: Extract iwmmxt code to translate-iwmmxt.c Philippe Mathieu-Daudé
2023-06-09 11:06 ` Philippe Mathieu-Daudé
2023-06-09 18:57 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 09/22] target/arm/tcg: Reduce 'helper-iwmmxt.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 18:59 ` Richard Henderson
2023-06-11 8:54 ` Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 10/22] target/arm/tcg: Extract VFP definitions to 'helper-vfp.h.inc' Philippe Mathieu-Daudé
2023-06-09 19:01 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 11/22] target/arm/tcg: Reduce 'helper-vfp.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 19:04 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 12/22] target/arm/tcg: Move neon_tbl() from op_helper.c to neon_helper.c Philippe Mathieu-Daudé
2023-06-09 19:42 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 13/22] target/arm/tcg: Extract NEON definitions to 'helper-neon.h.inc' Philippe Mathieu-Daudé
2023-06-09 19:42 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 14/22] target/arm/tcg: Reduce 'helper-neon.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 19:44 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 15/22] target/arm/tcg: Extract SVE2 definitions to 'helper-sve.h.inc' Philippe Mathieu-Daudé
2023-06-09 19:48 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 16/22] target/arm/tcg: Reduce 'helper-sve.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 17/22] target/arm/tcg: Reduce 'helper-mve.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 18/22] target/arm/tcg: Define SME set_svcr() helper in common 'helper.h' Philippe Mathieu-Daudé
2023-06-09 19:55 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 19/22] target/arm/tcg: Reduce 'helper-sme.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 20/22] target/arm/tcg: Reduce 'helper-a64.h.inc' inclusion Philippe Mathieu-Daudé
2023-06-09 10:47 ` [PATCH 21/22] target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h' Philippe Mathieu-Daudé
2023-06-09 20:37 ` Richard Henderson
2023-06-09 10:47 ` [PATCH 22/22] tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc Philippe Mathieu-Daudé
2023-06-09 11:09 ` [PATCH 00/22] target/arm/tcg: Remove inclusions of 'exec/helper-[proto/gen].h' Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230609104717.95555-1-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).