From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org,
qemu-s390x@nongnu.org, jcmvbkbc@gmail.com,
kbastian@mail.uni-paderborn.de, ysato@users.sourceforge.jp,
gaosong@loongson.cn, jiaxun.yang@flygoat.com,
tsimpson@quicinc.com, ale@rev.ng, mrolnik@gmail.com,
edgar.iglesias@gmail.com
Subject: [PATCH 00/76] tcg: Drop tcg_temp_free from translators
Date: Fri, 24 Feb 2023 23:13:11 -1000 [thread overview]
Message-ID: <20230225091427.1817156-1-richard.henderson@linaro.org> (raw)
Based-on: 20230225085945.1798188-1-richard.henderson@linaro.org
("[PATCH v3 00/30] tcg: Simplify temporary usage")
In the above patch set, we changed the lifetime of the temps
allocated by the guest translators, and eliminated their reuse,
so that we have the best chance of reducing their strength.
That we don't reuse them means that we gain nothing by freeing them.
Therefore, drop all mention of tcg_temp_free from target/.
This may be the most negative diffstat I've ever produced. :-)
r~
Richard Henderson (76):
tcg: Remove tcg_check_temp_count, tcg_clear_temp_count
accel/tcg: Remove translator_loop_temp_check
target/alpha: Drop tcg_temp_free
target/arm: Remove arm_free_cc, a64_free_cc
target/arm: Remove value_global from DisasCompare
target/arm: Drop tcg_temp_free from translator.c
target/arm: Drop DisasContext.tmp_a64
target/arm: Drop new_tmp_a64
target/arm: Drop new_tmp_a64_zero
target/arm: Drop tcg_temp_free from translator-a64.c
target/arm: Drop tcg_temp_free from translator-m-nocp.c
target/arm: Drop tcg_temp_free from translator-mve.c
target/arm: Drop tcg_temp_free from translator-neon.c
target/arm: Drop tcg_temp_free from translator-sme.c
target/arm: Drop tcg_temp_free from translator-sve.c
target/arm: Drop tcg_temp_free from translator-vfp.c
target/arm: Drop tcg_temp_free from translator.h
target/avr: Drop DisasContext.free_skip_var0
target/avr: Drop R from trans_COM
target/avr: Drop tcg_temp_free
target/cris: Drop cris_alu_free_temps
target/cris: Drop cris_alu_m_free_temps
target/cris: Drop addr from dec10_ind_move_m_pr
target/cris: Drop tcg_temp_free
target/cris: Drop tcg_temp_free from C code
target/cris: Drop tcg_temp_free from gen_tcg_funcs.py
target/hexagon/idef-parser: Drop tcg_temp_free
target/hexagon/idef-parser: Drop HexValue.is_manual
target/hppa: Drop tcg_temp_free
target/i386: Drop tcg_temp_free
target/loongarch: Drop temp_new
target/loongarch: Drop tcg_temp_free
target/m68k: Drop mark_to_release
target/m68k: Drop free_cond
target/m68k: Drop tcg_temp_free
target/microblaze: Drop tcg_temp_free
target/mips: Drop tcg_temp_free from micromips_translate.c.inc
target/mips: Drop tcg_temp_free from mips16e_translate.c.inc
target/mips: Drop tcg_temp_free from msa_translate.c
target/mips: Drop tcg_temp_free from mxu_translate.c
target/mips: Drop tcg_temp_free from nanomips_translate.c.inc
target/mips: Drop tcg_temp_free from octeon_translate.c
target/mips: Drop tcg_temp_free from translate_addr_const.c
target/mips: Drop tcg_temp_free from tx79_translate.c
target/mips: Fix trans_mult_acc return
target/mips: Drop tcg_temp_free from vr54xx_translate.c
target/mips: Drop tcg_temp_free from translate.c
target/nios2: Drop tcg_temp_free
target/openrisc: Drop tcg_temp_free
target/ppc: Drop tcg_temp_free
target/riscv: Drop ftemp_new
target/riscv: Drop temp_new
target/riscv: Drop tcg_temp_free
target/rx: Drop tcg_temp_free
target/s390x: Use tcg_constant_* in local contexts
target/s390x: Use tcg_constant_* for DisasCompare
target/s390x: Use tcg_constant_i32 for fpinst_extract_m34
target/s390x: Use tcg_constant_* in translate_vx.c.inc
target/s390x: Drop free_compare
target/s390x: Drop tcg_temp_free from translate_vx.c.inc
target/s390x: Drop tcg_temp_free from translate.c
target/s390x: Remove assert vs g_in2
target/s390x: Remove g_out, g_out2, g_in1, g_in2 from DisasContext
target/sh4: Drop tcg_temp_free
target/sparc: Drop get_temp_tl
target/sparc: Drop get_temp_i32
target/sparc: Remove egress label in disas_sparc_context
target/sparc: Drop free_compare
target/sparc: Drop tcg_temp_free
target/tricore: Drop tcg_temp_free
target/sparc: Drop reset_sar_tracker
target/xtensa: Drop tcg_temp_free
include/exec/gen-icount: Drop tcg_temp_free in gen_tb_start
tracing: remove transform.py
tcg: Create tcg/tcg-temp-internal.h
docs/devel/tcg-ops: Drop recommendation to free temps
docs/devel/tcg-ops.rst | 4 -
target/hexagon/idef-parser/README.rst | 8 -
meson.build | 1 -
include/exec/gen-icount.h | 2 -
include/exec/translator.h | 2 -
include/tcg/tcg-temp-internal.h | 83 +++
include/tcg/tcg.h | 68 --
target/arm/translate-a64.h | 2 -
target/arm/translate.h | 7 -
target/hexagon/gen_tcg.h | 29 -
target/hexagon/gen_tcg_hvx.h | 15 -
target/hexagon/idef-parser/idef-parser.h | 1 -
target/hexagon/idef-parser/parser-helpers.h | 4 -
target/hexagon/macros.h | 7 -
target/loongarch/translate.h | 3 -
accel/tcg/plugin-gen.c | 1 +
accel/tcg/translator.c | 16 -
target/alpha/translate.c | 71 --
target/arm/translate-a64.c | 594 ++--------------
target/arm/translate-m-nocp.c | 20 -
target/arm/translate-mve.c | 52 --
target/arm/translate-neon.c | 131 +---
target/arm/translate-sme.c | 28 -
target/arm/translate-sve.c | 206 +-----
target/arm/translate-vfp.c | 193 -----
target/arm/translate.c | 281 +-------
target/avr/translate.c | 251 -------
target/cris/translate.c | 113 ---
target/hexagon/genptr.c | 58 --
target/hexagon/idef-parser/parser-helpers.c | 158 -----
target/hexagon/translate.c | 7 -
target/hppa/translate.c | 93 +--
target/i386/tcg/translate.c | 41 --
target/loongarch/translate.c | 21 +-
target/m68k/translate.c | 276 +-------
target/microblaze/translate.c | 54 --
target/mips/tcg/msa_translate.c | 9 -
target/mips/tcg/mxu_translate.c | 51 --
target/mips/tcg/octeon_translate.c | 23 -
target/mips/tcg/translate.c | 537 +-------------
target/mips/tcg/translate_addr_const.c | 7 -
target/mips/tcg/tx79_translate.c | 41 --
target/mips/tcg/vr54xx_translate.c | 6 +-
target/nios2/translate.c | 15 -
target/openrisc/translate.c | 39 -
target/ppc/translate.c | 285 --------
target/riscv/translate.c | 61 +-
target/rx/translate.c | 84 ---
target/s390x/tcg/translate.c | 668 +++++-------------
target/sh4/translate.c | 110 ---
target/sparc/translate.c | 259 +------
target/tricore/translate.c | 540 +-------------
target/xtensa/translate.c | 121 +---
tcg/tcg-op-gvec.c | 1 +
tcg/tcg-op-vec.c | 1 +
tcg/tcg-op.c | 1 +
tcg/tcg.c | 55 +-
target/cris/translate_v10.c.inc | 49 +-
target/i386/tcg/decode-new.c.inc | 15 -
target/i386/tcg/emit.c.inc | 6 -
target/loongarch/insn_trans/trans_arith.c.inc | 12 -
.../loongarch/insn_trans/trans_atomic.c.inc | 3 -
target/loongarch/insn_trans/trans_bit.c.inc | 12 -
target/loongarch/insn_trans/trans_fcmp.c.inc | 3 -
.../loongarch/insn_trans/trans_fmemory.c.inc | 20 +-
target/loongarch/insn_trans/trans_fmov.c.inc | 6 -
.../loongarch/insn_trans/trans_memory.c.inc | 34 +-
.../insn_trans/trans_privileged.c.inc | 6 +-
target/loongarch/insn_trans/trans_shift.c.inc | 11 -
target/mips/tcg/micromips_translate.c.inc | 8 -
target/mips/tcg/mips16e_translate.c.inc | 6 -
target/mips/tcg/nanomips_translate.c.inc | 127 +---
target/ppc/power8-pmu-regs.c.inc | 16 -
target/ppc/translate/dfp-impl.c.inc | 20 -
target/ppc/translate/fixedpoint-impl.c.inc | 16 -
target/ppc/translate/fp-impl.c.inc | 122 +---
target/ppc/translate/spe-impl.c.inc | 59 --
target/ppc/translate/storage-ctrl-impl.c.inc | 2 -
target/ppc/translate/vmx-impl.c.inc | 296 +-------
target/ppc/translate/vsx-impl.c.inc | 287 +-------
target/riscv/insn_trans/trans_rvb.c.inc | 24 -
target/riscv/insn_trans/trans_rvd.c.inc | 2 -
target/riscv/insn_trans/trans_rvf.c.inc | 9 -
target/riscv/insn_trans/trans_rvi.c.inc | 37 -
target/riscv/insn_trans/trans_rvk.c.inc | 15 -
target/riscv/insn_trans/trans_rvm.c.inc | 33 -
target/riscv/insn_trans/trans_rvv.c.inc | 55 --
target/riscv/insn_trans/trans_rvzfh.c.inc | 12 +-
target/riscv/insn_trans/trans_xthead.c.inc | 24 +-
target/s390x/tcg/translate_vx.c.inc | 188 +----
scripts/tracetool/transform.py | 168 -----
target/hexagon/README | 5 -
target/hexagon/gen_tcg_funcs.py | 79 +--
target/hexagon/idef-parser/idef-parser.y | 12 -
94 files changed, 471 insertions(+), 7143 deletions(-)
create mode 100644 include/tcg/tcg-temp-internal.h
delete mode 100644 scripts/tracetool/transform.py
--
2.34.1
next reply other threads:[~2023-02-25 9:27 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-25 9:13 Richard Henderson [this message]
2023-02-25 9:13 ` [PATCH 01/76] tcg: Remove tcg_check_temp_count, tcg_clear_temp_count Richard Henderson
2023-02-25 9:13 ` [PATCH 02/76] accel/tcg: Remove translator_loop_temp_check Richard Henderson
2023-02-25 9:13 ` [PATCH 03/76] target/alpha: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 04/76] target/arm: Remove arm_free_cc, a64_free_cc Richard Henderson
2023-02-25 9:13 ` [PATCH 05/76] target/arm: Remove value_global from DisasCompare Richard Henderson
2023-02-25 9:13 ` [PATCH 06/76] target/arm: Drop tcg_temp_free from translator.c Richard Henderson
2023-02-25 9:13 ` [PATCH 07/76] target/arm: Drop DisasContext.tmp_a64 Richard Henderson
2023-02-25 9:13 ` [PATCH 08/76] target/arm: Drop new_tmp_a64 Richard Henderson
2023-02-25 9:13 ` [PATCH 09/76] target/arm: Drop new_tmp_a64_zero Richard Henderson
2023-02-25 9:13 ` [PATCH 10/76] target/arm: Drop tcg_temp_free from translator-a64.c Richard Henderson
2023-02-25 9:13 ` [PATCH 11/76] target/arm: Drop tcg_temp_free from translator-m-nocp.c Richard Henderson
2023-02-25 9:13 ` [PATCH 12/76] target/arm: Drop tcg_temp_free from translator-mve.c Richard Henderson
2023-02-25 9:13 ` [PATCH 13/76] target/arm: Drop tcg_temp_free from translator-neon.c Richard Henderson
2023-02-25 9:13 ` [PATCH 14/76] target/arm: Drop tcg_temp_free from translator-sme.c Richard Henderson
2023-02-25 9:13 ` [PATCH 15/76] target/arm: Drop tcg_temp_free from translator-sve.c Richard Henderson
2023-02-25 9:13 ` [PATCH 16/76] target/arm: Drop tcg_temp_free from translator-vfp.c Richard Henderson
2023-02-25 9:13 ` [PATCH 17/76] target/arm: Drop tcg_temp_free from translator.h Richard Henderson
2023-02-25 9:13 ` [PATCH 18/76] target/avr: Drop DisasContext.free_skip_var0 Richard Henderson
2023-02-25 9:13 ` [PATCH 19/76] target/avr: Drop R from trans_COM Richard Henderson
2023-02-25 9:13 ` [PATCH 20/76] target/avr: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 21/76] target/cris: Drop cris_alu_free_temps Richard Henderson
2023-02-25 9:13 ` [PATCH 22/76] target/cris: Drop cris_alu_m_free_temps Richard Henderson
2023-02-25 9:13 ` [PATCH 23/76] target/cris: Drop addr from dec10_ind_move_m_pr Richard Henderson
2023-02-25 9:13 ` [PATCH 24/76] target/cris: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 25/76] target/cris: Drop tcg_temp_free from C code Richard Henderson
2023-02-25 9:17 ` Richard Henderson
2023-02-25 9:13 ` [PATCH 26/76] target/cris: Drop tcg_temp_free from gen_tcg_funcs.py Richard Henderson
2023-02-25 9:18 ` Richard Henderson
2023-02-25 9:13 ` [PATCH 27/76] target/hexagon/idef-parser: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 28/76] target/hexagon/idef-parser: Drop HexValue.is_manual Richard Henderson
2023-02-25 9:13 ` [PATCH 29/76] target/hppa: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 30/76] target/i386: " Richard Henderson
2023-02-25 9:13 ` [PATCH 31/76] target/loongarch: Drop temp_new Richard Henderson
2023-02-27 3:17 ` gaosong
2023-02-25 9:13 ` [PATCH 32/76] target/loongarch: Drop tcg_temp_free Richard Henderson
2023-02-27 3:18 ` gaosong
2023-02-25 9:13 ` [PATCH 33/76] target/m68k: Drop mark_to_release Richard Henderson
2023-02-25 9:13 ` [PATCH 34/76] target/m68k: Drop free_cond Richard Henderson
2023-02-25 9:13 ` [PATCH 35/76] target/m68k: Drop tcg_temp_free Richard Henderson
2023-02-25 9:13 ` [PATCH 36/76] target/microblaze: " Richard Henderson
2023-02-25 9:13 ` [PATCH 37/76] target/mips: Drop tcg_temp_free from micromips_translate.c.inc Richard Henderson
2023-02-25 9:13 ` [PATCH 38/76] target/mips: Drop tcg_temp_free from mips16e_translate.c.inc Richard Henderson
2023-02-25 9:13 ` [PATCH 39/76] target/mips: Drop tcg_temp_free from msa_translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 40/76] target/mips: Drop tcg_temp_free from mxu_translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 41/76] target/mips: Drop tcg_temp_free from nanomips_translate.c.inc Richard Henderson
2023-02-25 9:13 ` [PATCH 42/76] target/mips: Drop tcg_temp_free from octeon_translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 43/76] target/mips: Drop tcg_temp_free from translate_addr_const.c Richard Henderson
2023-02-25 9:13 ` [PATCH 44/76] target/mips: Drop tcg_temp_free from tx79_translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 45/76] target/mips: Fix trans_mult_acc return Richard Henderson
2023-02-25 19:47 ` Philippe Mathieu-Daudé
2023-02-25 9:13 ` [PATCH 46/76] target/mips: Drop tcg_temp_free from vr54xx_translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 47/76] target/mips: Drop tcg_temp_free from translate.c Richard Henderson
2023-02-25 9:13 ` [PATCH 48/76] target/nios2: Drop tcg_temp_free Richard Henderson
2023-02-25 9:14 ` [PATCH 49/76] target/openrisc: " Richard Henderson
2023-02-25 9:14 ` [PATCH 50/76] target/ppc: " Richard Henderson
2023-02-25 10:52 ` Daniel Henrique Barboza
2023-02-25 9:14 ` [PATCH 51/76] target/riscv: Drop ftemp_new Richard Henderson
2023-02-25 10:33 ` Daniel Henrique Barboza
2023-02-26 12:58 ` liweiwei
2023-02-26 13:01 ` liweiwei
2023-02-25 9:14 ` [PATCH 52/76] target/riscv: Drop temp_new Richard Henderson
2023-02-25 10:33 ` Daniel Henrique Barboza
2023-02-26 13:00 ` liweiwei
2023-02-25 9:14 ` [PATCH 53/76] target/riscv: Drop tcg_temp_free Richard Henderson
2023-02-25 10:33 ` Daniel Henrique Barboza
2023-02-26 13:04 ` liweiwei
2023-02-25 9:14 ` [PATCH 54/76] target/rx: " Richard Henderson
2023-02-25 9:14 ` [PATCH 55/76] target/s390x: Use tcg_constant_* in local contexts Richard Henderson
2023-02-25 9:14 ` [PATCH 56/76] target/s390x: Use tcg_constant_* for DisasCompare Richard Henderson
2023-02-25 9:14 ` [PATCH 57/76] target/s390x: Use tcg_constant_i32 for fpinst_extract_m34 Richard Henderson
2023-02-25 9:14 ` [PATCH 58/76] target/s390x: Use tcg_constant_* in translate_vx.c.inc Richard Henderson
2023-02-25 9:14 ` [PATCH 59/76] target/s390x: Drop free_compare Richard Henderson
2023-02-25 9:14 ` [PATCH 60/76] target/s390x: Drop tcg_temp_free from translate_vx.c.inc Richard Henderson
2023-02-25 9:14 ` [PATCH 61/76] target/s390x: Drop tcg_temp_free from translate.c Richard Henderson
2023-02-25 9:14 ` [PATCH 62/76] target/s390x: Remove assert vs g_in2 Richard Henderson
2023-02-25 9:14 ` [PATCH 63/76] target/s390x: Remove g_out, g_out2, g_in1, g_in2 from DisasContext Richard Henderson
2023-02-25 9:14 ` [PATCH 64/76] target/sh4: Drop tcg_temp_free Richard Henderson
2023-02-25 9:14 ` [PATCH 65/76] target/sparc: Drop get_temp_tl Richard Henderson
2023-02-25 9:14 ` [PATCH 66/76] target/sparc: Drop get_temp_i32 Richard Henderson
2023-03-03 19:06 ` Peter Maydell
2023-02-25 9:14 ` [PATCH 67/76] target/sparc: Remove egress label in disas_sparc_context Richard Henderson
2023-02-25 9:14 ` [PATCH 68/76] target/sparc: Drop free_compare Richard Henderson
2023-02-25 9:14 ` [PATCH 69/76] target/sparc: Drop tcg_temp_free Richard Henderson
2023-02-25 9:14 ` [PATCH 70/76] target/tricore: " Richard Henderson
2023-02-25 9:14 ` [PATCH 71/76] target/sparc: Drop reset_sar_tracker Richard Henderson
2023-02-25 9:39 ` Max Filippov
2023-02-25 9:14 ` [PATCH 72/76] target/xtensa: Drop tcg_temp_free Richard Henderson
2023-02-25 9:41 ` Max Filippov
2023-02-25 9:14 ` [PATCH 73/76] include/exec/gen-icount: Drop tcg_temp_free in gen_tb_start Richard Henderson
2023-02-25 9:14 ` [PATCH 74/76] tracing: remove transform.py Richard Henderson
2023-02-25 10:22 ` Daniel Henrique Barboza
2023-02-25 10:52 ` Daniel Henrique Barboza
2023-02-25 18:38 ` Richard Henderson
2023-02-27 3:03 ` gaosong
2023-02-25 10:53 ` Daniel Henrique Barboza
2023-02-25 9:14 ` [PATCH 75/76] tcg: Create tcg/tcg-temp-internal.h Richard Henderson
2023-02-25 9:14 ` [PATCH 76/76] docs/devel/tcg-ops: Drop recommendation to free temps Richard Henderson
2023-02-25 10:55 ` Daniel Henrique Barboza
2023-02-25 10:10 ` [PATCH 00/76] tcg: Drop tcg_temp_free from translators Philippe Mathieu-Daudé
2023-02-25 10:11 ` 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=20230225091427.1817156-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=ale@rev.ng \
--cc=edgar.iglesias@gmail.com \
--cc=gaosong@loongson.cn \
--cc=jcmvbkbc@gmail.com \
--cc=jiaxun.yang@flygoat.com \
--cc=kbastian@mail.uni-paderborn.de \
--cc=mrolnik@gmail.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=tsimpson@quicinc.com \
--cc=ysato@users.sourceforge.jp \
/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).