From: Richard Henderson <richard.henderson@linaro.org>
To: Anton Johansson <anjo@rev.ng>, qemu-devel@nongnu.org
Cc: ale@rev.ng, ltaylorsimpson@gmail.com, bcain@quicinc.com,
philmd@linaro.org, alex.bennee@linaro.org
Subject: Re: [RFC PATCH v1 01/43] Add option to enable/disable helper-to-tcg
Date: Fri, 22 Nov 2024 11:30:27 -0600 [thread overview]
Message-ID: <c478cbc8-6684-4a8d-bd88-724d48098c36@linaro.org> (raw)
In-Reply-To: <20241121014947.18666-2-anjo@rev.ng>
On 11/20/24 19:49, Anton Johansson wrote:
> Adds a meson option for enabling/disabling helper-to-tcg along with a
> CONFIG_* definition.
>
> CONFIG_* will in future commits be used to conditionally include the
> helper-to-tcg subproject, and to remove unneeded code/memory when
> helper-to-tcg is not in use.
>
> Current meson option is limited to Hexagon, as helper-to-tcg will be
> included as a subproject from target/hexagon. This will change in the
> future if multiple frontends adopt helper-to-tcg.
>
> Signed-off-by: Anton Johansson <anjo@rev.ng>
> ---
> meson.build | 7 +++++++
> meson_options.txt | 2 ++
> scripts/meson-buildoptions.sh | 5 +++++
> 3 files changed, 14 insertions(+)
Looks ok. Could probably stand another set of meson eyes.
Acked-by: Richard Henderson <richard.henderson@linaro.org>
r~
>
> diff --git a/meson.build b/meson.build
> index e0b880e4e1..657ebe43f6 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -230,6 +230,7 @@ have_ga = get_option('guest_agent') \
> error_message: 'unsupported OS for QEMU guest agent') \
> .allowed()
> have_block = have_system or have_tools
> +helper_to_tcg_enabled = get_option('hexagon_helper_to_tcg')
>
> enable_modules = get_option('modules') \
> .require(host_os != 'windows',
> @@ -3245,6 +3246,11 @@ foreach target : target_dirs
> 'CONFIG_QEMU_RTSIG_MAP': get_option('rtsig_map'),
> }
> endif
> + if helper_to_tcg_enabled
> + config_target += {
> + 'CONFIG_HELPER_TO_TCG': 'y',
> + }
> + endif
>
> target_kconfig = []
> foreach sym: accelerators
> @@ -4122,6 +4128,7 @@ foreach target : target_dirs
> if host_os == 'linux'
> target_inc += include_directories('linux-headers', is_system: true)
> endif
> +
> if target.endswith('-softmmu')
> target_type='system'
> t = target_system_arch[target_base_arch].apply(config_target, strict: false)
> diff --git a/meson_options.txt b/meson_options.txt
> index 5eeaf3eee5..0730378305 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -374,6 +374,8 @@ option('qemu_ga_version', type: 'string', value: '',
>
> option('hexagon_idef_parser', type : 'boolean', value : true,
> description: 'use idef-parser to automatically generate TCG code for the Hexagon frontend')
> +option('hexagon_helper_to_tcg', type : 'boolean', value : true,
> + description: 'use the helper-to-tcg translator to automatically generate TCG code for the Hexagon frontend')
>
> option('x86_version', type : 'combo', choices : ['0', '1', '2', '3', '4'], value: '1',
> description: 'tweak required x86_64 architecture version beyond compiler default')
> diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
> index a8066aab03..19c891a39b 100644
> --- a/scripts/meson-buildoptions.sh
> +++ b/scripts/meson-buildoptions.sh
> @@ -13,6 +13,9 @@ meson_options_help() {
> printf "%s\n" ' --datadir=VALUE Data file directory [share]'
> printf "%s\n" ' --disable-coroutine-pool coroutine freelist (better performance)'
> printf "%s\n" ' --disable-debug-info Enable debug symbols and other information'
> + printf "%s\n" ' --disable-hexagon-helper-to-tcg'
> + printf "%s\n" ' use the helper-to-tcg translator to automatically'
> + printf "%s\n" ' generate TCG code for the Hexagon frontend'
> printf "%s\n" ' --disable-hexagon-idef-parser'
> printf "%s\n" ' use idef-parser to automatically generate TCG'
> printf "%s\n" ' code for the Hexagon frontend'
> @@ -341,6 +344,8 @@ _meson_option_parse() {
> --disable-guest-agent) printf "%s" -Dguest_agent=disabled ;;
> --enable-guest-agent-msi) printf "%s" -Dguest_agent_msi=enabled ;;
> --disable-guest-agent-msi) printf "%s" -Dguest_agent_msi=disabled ;;
> + --enable-hexagon-helper-to-tcg) printf "%s" -Dhexagon_helper_to_tcg=true ;;
> + --disable-hexagon-helper-to-tcg) printf "%s" -Dhexagon_helper_to_tcg=false ;;
> --enable-hexagon-idef-parser) printf "%s" -Dhexagon_idef_parser=true ;;
> --disable-hexagon-idef-parser) printf "%s" -Dhexagon_idef_parser=false ;;
> --enable-hv-balloon) printf "%s" -Dhv_balloon=enabled ;;
next prev parent reply other threads:[~2024-11-22 17:30 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-21 1:49 [RFC PATCH v1 00/43] Introduce helper-to-tcg Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 01/43] Add option to enable/disable helper-to-tcg Anton Johansson via
2024-11-22 17:30 ` Richard Henderson [this message]
2024-11-22 18:23 ` Paolo Bonzini
2024-12-03 19:05 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 02/43] accel/tcg: Add bitreverse and funnel-shift runtime helper functions Anton Johansson via
2024-11-22 17:35 ` Richard Henderson
2024-12-03 17:50 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 03/43] accel/tcg: Add gvec size changing operations Anton Johansson via
2024-11-22 17:50 ` Richard Henderson
2024-12-03 18:08 ` Anton Johansson via
2024-12-03 18:57 ` Richard Henderson
2024-12-03 20:15 ` Anton Johansson via
2024-12-03 21:14 ` Richard Henderson
2024-11-21 1:49 ` [RFC PATCH v1 04/43] tcg: Add gvec functions for creating consant vectors Anton Johansson via
2024-11-22 18:00 ` Richard Henderson
2024-12-03 18:19 ` Anton Johansson via
2024-12-03 19:03 ` Richard Henderson
2024-11-21 1:49 ` [RFC PATCH v1 05/43] tcg: Add helper function dispatcher and hook tcg_gen_callN Anton Johansson via
2024-11-22 18:04 ` Richard Henderson
2024-12-03 18:45 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 06/43] tcg: Introduce tcg-global-mappings Anton Johansson via
2024-11-22 19:14 ` Richard Henderson
2024-11-21 1:49 ` [RFC PATCH v1 07/43] tcg: Increase maximum TB size and maximum temporaries Anton Johansson via
2024-11-22 18:11 ` Richard Henderson
2024-11-21 1:49 ` [RFC PATCH v1 08/43] include/helper-to-tcg: Introduce annotate.h Anton Johansson via
2024-11-22 18:12 ` Richard Henderson
2024-11-25 11:27 ` Philippe Mathieu-Daudé
2024-12-03 19:00 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 09/43] helper-to-tcg: Introduce get-llvm-ir.py Anton Johansson via
2024-11-22 18:14 ` Richard Henderson
2024-12-03 18:49 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 10/43] helper-to-tcg: Add meson.build Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 11/43] helper-to-tcg: Introduce llvm-compat Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 12/43] helper-to-tcg: Introduce custom LLVM pipeline Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 13/43] helper-to-tcg: Introduce Error.h Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 14/43] helper-to-tcg: Introduce PrepareForOptPass Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 15/43] helper-to-tcg: PrepareForOptPass, map annotations Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 16/43] helper-to-tcg: PrepareForOptPass, Cull unused functions Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 17/43] helper-to-tcg: PrepareForOptPass, undef llvm.returnaddress Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 18/43] helper-to-tcg: PrepareForOptPass, Remove noinline attribute Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 19/43] helper-to-tcg: Pipeline, run optimization pass Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 20/43] helper-to-tcg: Introduce pseudo instructions Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 21/43] helper-to-tcg: Introduce PrepareForTcgPass Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 22/43] helper-to-tcg: PrepareForTcgPass, remove functions w. cycles Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 23/43] helper-to-tcg: PrepareForTcgPass, demote phi nodes Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 24/43] helper-to-tcg: PrepareForTcgPass, map TCG globals Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 25/43] helper-to-tcg: PrepareForTcgPass, transform GEPs Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 26/43] helper-to-tcg: PrepareForTcgPass, canonicalize IR Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 27/43] helper-to-tcg: PrepareForTcgPass, identity map trivial expressions Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 28/43] helper-to-tcg: Introduce TcgType.h Anton Johansson via
2024-11-22 18:26 ` Richard Henderson
2024-12-03 18:50 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 29/43] helper-to-tcg: Introduce TCG register allocation Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 30/43] helper-to-tcg: TcgGenPass, introduce TcgEmit.[cpp|h] Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 31/43] helper-to-tcg: Introduce TcgGenPass Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 32/43] helper-to-tcg: Add README Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 33/43] helper-to-tcg: Add end-to-end tests Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 34/43] target/hexagon: Add get_tb_mmu_index() Anton Johansson via
2024-11-22 18:34 ` Richard Henderson
2024-12-03 18:50 ` Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 35/43] target/hexagon: Use argparse in all python scripts Anton Johansson via
2024-12-05 15:23 ` Brian Cain
2024-11-21 1:49 ` [RFC PATCH v1 36/43] target/hexagon: Add temporary vector storage Anton Johansson via
2024-11-22 18:35 ` Richard Henderson
2024-12-03 18:56 ` Anton Johansson via
2024-12-03 20:28 ` Brian Cain
2024-12-04 0:37 ` ltaylorsimpson
2024-11-21 1:49 ` [RFC PATCH v1 37/43] target/hexagon: Make HVX vector args. restrict * Anton Johansson via
2024-11-25 11:36 ` Philippe Mathieu-Daudé
2024-11-25 12:00 ` Paolo Bonzini
2024-12-03 18:57 ` Anton Johansson via
2024-12-03 18:58 ` Brian Cain
2024-11-21 1:49 ` [RFC PATCH v1 38/43] target/hexagon: Use cpu_mapping to map env -> TCG Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 39/43] target/hexagon: Keep gen_slotval/check_noshuf for helper-to-tcg Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 40/43] target/hexagon: Emit annotations for helpers Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 41/43] target/hexagon: Manually call generated HVX instructions Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 42/43] target/hexagon: Only translate w. idef-parser if helper-to-tcg failed Anton Johansson via
2024-11-21 1:49 ` [RFC PATCH v1 43/43] target/hexagon: Use helper-to-tcg Anton Johansson via
2024-11-25 11:34 ` [RFC PATCH v1 00/43] Introduce helper-to-tcg Philippe Mathieu-Daudé
2024-12-03 18:58 ` Anton Johansson via
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=c478cbc8-6684-4a8d-bd88-724d48098c36@linaro.org \
--to=richard.henderson@linaro.org \
--cc=ale@rev.ng \
--cc=alex.bennee@linaro.org \
--cc=anjo@rev.ng \
--cc=bcain@quicinc.com \
--cc=ltaylorsimpson@gmail.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.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).