qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Subject: [PATCH 00/11] tcg: Move tcg expanders out of line
Date: Sun, 29 Oct 2023 14:08:37 -0700	[thread overview]
Message-ID: <20231029210848.78234-1-richard.henderson@linaro.org> (raw)

This reduces the amount of code within tcg-op-common.h, and the amount
of code in the code segment full stop.

With many translators these days, we're putting the expander function
addresses into tables, or pass them to other general target-specific
expansion helpers.  At present that means we get out-of-line copies of 
these functions anyway.  If the target is implemented with multiple
translation units, we can get multiple out-of-line copies.

This is also a necessary step in making tcg/arch/tcg-target.h private.

Top few code size reductions:

	-89k	qemu-system-ppc64
	-88k	qemu-system-aarch64
	-60k	qemu-system-mipsel
	-50k	qemu-system-arm
	-42k	qemu-system-riscv64
	-33k	qemu-system-i386
	-33k	qemu-system-m68k
	-32k	qemu-system-tricore


r~


Richard Henderson (11):
  tcg: Mark tcg_gen_op* as noinline
  tcg: Move tcg_gen_op* out of line
  tcg: Move generic expanders out of line
  tcg: Move 32-bit expanders out of line
  tcg: Move 64-bit expanders out of line
  tcg: Move vec_gen_* declarations to tcg-internal.h
  tcg: Move tcg_gen_opN declarations to tcg-internal.h
  tcg: Unexport tcg_gen_op*_{i32,i64}
  tcg: Move tcg_constant_* out of line
  tcg: Move tcg_temp_new_*, tcg_global_mem_new_* out of line
  tcg: Move tcg_temp_free_* out of line

 include/tcg/tcg-op-common.h     | 538 +++---------------------------
 include/tcg/tcg-temp-internal.h |  56 +---
 include/tcg/tcg.h               |  77 -----
 tcg/tcg-internal.h              |  18 +
 tcg/tcg-op.c                    | 566 +++++++++++++++++++++++++++-----
 tcg/tcg.c                       | 104 +++++-
 6 files changed, 664 insertions(+), 695 deletions(-)

-- 
2.34.1



             reply	other threads:[~2023-10-29 21:10 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-29 21:08 Richard Henderson [this message]
2023-10-29 21:08 ` [PATCH 01/11] tcg: Mark tcg_gen_op* as noinline Richard Henderson
2023-12-13 14:09   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 02/11] tcg: Move tcg_gen_op* out of line Richard Henderson
2023-12-13 14:12   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 03/11] tcg: Move generic expanders " Richard Henderson
2023-12-13 14:21   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 04/11] tcg: Move 32-bit " Richard Henderson
2023-12-13 14:23   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 05/11] tcg: Move 64-bit " Richard Henderson
2023-12-13 14:46   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 06/11] tcg: Move vec_gen_* declarations to tcg-internal.h Richard Henderson
2023-12-13 14:48   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 07/11] tcg: Move tcg_gen_opN " Richard Henderson
2023-12-13 14:49   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 08/11] tcg: Unexport tcg_gen_op*_{i32,i64} Richard Henderson
2023-12-13 17:42   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 09/11] tcg: Move tcg_constant_* out of line Richard Henderson
2023-10-29 21:08 ` [PATCH 10/11] tcg: Move tcg_temp_new_*, tcg_global_mem_new_* " Richard Henderson
2023-12-13 17:51   ` Philippe Mathieu-Daudé
2023-10-29 21:08 ` [PATCH 11/11] tcg: Move tcg_temp_free_* " Richard Henderson
2023-12-13 15:08   ` 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=20231029210848.78234-1-richard.henderson@linaro.org \
    --to=richard.henderson@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).