qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/76] tcg: Drop tcg_temp_free from translators
@ 2023-02-27  5:23 Richard Henderson
  2023-02-27  5:23 ` [PATCH v2 01/76] tcg: Remove tcg_check_temp_count, tcg_clear_temp_count Richard Henderson
                   ` (77 more replies)
  0 siblings, 78 replies; 124+ messages in thread
From: Richard Henderson @ 2023-02-27  5:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, qemu-ppc, qemu-riscv, qemu-s390x, jcmvbkbc, kbastian,
	ysato, gaosong, jiaxun.yang, tsimpson, ale, mrolnik,
	edgar.iglesias

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/.

Changes for v2:
  * Apply r-b.
  * Fix 74/76 "tracing: remove transform.py".


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/hexagon: Drop tcg_temp_free from C code
  target/hexagon: 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/xtensa: 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   | 157 ----
 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/__init__.py                 |  23 -
 scripts/tracetool/transform.py                | 168 -----
 target/hexagon/README                         |   5 -
 target/hexagon/gen_tcg_funcs.py               |  79 +--
 target/hexagon/idef-parser/idef-parser.y      |  12 -
 95 files changed, 471 insertions(+), 7165 deletions(-)
 create mode 100644 include/tcg/tcg-temp-internal.h
 delete mode 100644 scripts/tracetool/transform.py

-- 
2.34.1



^ permalink raw reply	[flat|nested] 124+ messages in thread

end of thread, other threads:[~2023-03-03 19:58 UTC | newest]

Thread overview: 124+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27  5:23 [PATCH v2 00/76] tcg: Drop tcg_temp_free from translators Richard Henderson
2023-02-27  5:23 ` [PATCH v2 01/76] tcg: Remove tcg_check_temp_count, tcg_clear_temp_count Richard Henderson
2023-03-03 17:25   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 02/76] accel/tcg: Remove translator_loop_temp_check Richard Henderson
2023-03-03 17:25   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 03/76] target/alpha: Drop tcg_temp_free Richard Henderson
2023-03-03 17:27   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 04/76] target/arm: Remove arm_free_cc, a64_free_cc Richard Henderson
2023-03-03 17:28   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 05/76] target/arm: Remove value_global from DisasCompare Richard Henderson
2023-03-03 17:29   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 06/76] target/arm: Drop tcg_temp_free from translator.c Richard Henderson
2023-03-03 17:30   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 07/76] target/arm: Drop DisasContext.tmp_a64 Richard Henderson
2023-03-03 17:31   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 08/76] target/arm: Drop new_tmp_a64 Richard Henderson
2023-03-03 17:32   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 09/76] target/arm: Drop new_tmp_a64_zero Richard Henderson
2023-03-03 17:34   ` Peter Maydell
2023-02-27  5:23 ` [PATCH v2 10/76] target/arm: Drop tcg_temp_free from translator-a64.c Richard Henderson
2023-03-03 17:36   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 11/76] target/arm: Drop tcg_temp_free from translator-m-nocp.c Richard Henderson
2023-03-03 17:36   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 12/76] target/arm: Drop tcg_temp_free from translator-mve.c Richard Henderson
2023-03-03 17:37   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 13/76] target/arm: Drop tcg_temp_free from translator-neon.c Richard Henderson
2023-03-03 17:37   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 14/76] target/arm: Drop tcg_temp_free from translator-sme.c Richard Henderson
2023-03-03 18:25   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 15/76] target/arm: Drop tcg_temp_free from translator-sve.c Richard Henderson
2023-03-03 18:26   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 16/76] target/arm: Drop tcg_temp_free from translator-vfp.c Richard Henderson
2023-03-03 18:27   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 17/76] target/arm: Drop tcg_temp_free from translator.h Richard Henderson
2023-03-03 18:27   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 18/76] target/avr: Drop DisasContext.free_skip_var0 Richard Henderson
2023-03-03 18:43   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 19/76] target/avr: Drop R from trans_COM Richard Henderson
2023-03-03 18:44   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 20/76] target/avr: Drop tcg_temp_free Richard Henderson
2023-03-03 18:45   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 21/76] target/cris: Drop cris_alu_free_temps Richard Henderson
2023-03-03 18:46   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 22/76] target/cris: Drop cris_alu_m_free_temps Richard Henderson
2023-03-03 18:46   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 23/76] target/cris: Drop addr from dec10_ind_move_m_pr Richard Henderson
2023-03-03 18:48   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 24/76] target/cris: Drop tcg_temp_free Richard Henderson
2023-03-03 18:47   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 25/76] target/hexagon: Drop tcg_temp_free from C code Richard Henderson
2023-02-27 17:53   ` Taylor Simpson
2023-02-27  5:24 ` [PATCH v2 26/76] target/hexagon: Drop tcg_temp_free from gen_tcg_funcs.py Richard Henderson
2023-02-27 17:56   ` Taylor Simpson
2023-02-27  5:24 ` [PATCH v2 27/76] target/hexagon/idef-parser: Drop tcg_temp_free Richard Henderson
2023-02-27 18:00   ` Taylor Simpson
2023-02-27  5:24 ` [PATCH v2 28/76] target/hexagon/idef-parser: Drop HexValue.is_manual Richard Henderson
2023-02-27 19:19   ` Taylor Simpson
2023-02-27  5:24 ` [PATCH v2 29/76] target/hppa: Drop tcg_temp_free Richard Henderson
2023-03-03 18:54   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 30/76] target/i386: " Richard Henderson
2023-02-27  5:24 ` [PATCH v2 31/76] target/loongarch: Drop temp_new Richard Henderson
2023-02-27  5:24 ` [PATCH v2 32/76] target/loongarch: Drop tcg_temp_free Richard Henderson
2023-02-27  5:24 ` [PATCH v2 33/76] target/m68k: Drop mark_to_release Richard Henderson
2023-03-03 18:57   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 34/76] target/m68k: Drop free_cond Richard Henderson
2023-03-03 18:58   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 35/76] target/m68k: Drop tcg_temp_free Richard Henderson
2023-03-03 19:03   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 36/76] target/microblaze: " Richard Henderson
2023-03-03 18:55   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 37/76] target/mips: Drop tcg_temp_free from micromips_translate.c.inc Richard Henderson
2023-02-27  5:24 ` [PATCH v2 38/76] target/mips: Drop tcg_temp_free from mips16e_translate.c.inc Richard Henderson
2023-02-27  5:24 ` [PATCH v2 39/76] target/mips: Drop tcg_temp_free from msa_translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 40/76] target/mips: Drop tcg_temp_free from mxu_translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 41/76] target/mips: Drop tcg_temp_free from nanomips_translate.c.inc Richard Henderson
2023-02-27  5:24 ` [PATCH v2 42/76] target/mips: Drop tcg_temp_free from octeon_translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 43/76] target/mips: Drop tcg_temp_free from translate_addr_const.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 44/76] target/mips: Drop tcg_temp_free from tx79_translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 45/76] target/mips: Fix trans_mult_acc return Richard Henderson
2023-02-27  5:24 ` [PATCH v2 46/76] target/mips: Drop tcg_temp_free from vr54xx_translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 47/76] target/mips: Drop tcg_temp_free from translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 48/76] target/nios2: Drop tcg_temp_free Richard Henderson
2023-03-03 18:49   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 49/76] target/openrisc: " Richard Henderson
2023-03-03 18:52   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 50/76] target/ppc: " Richard Henderson
2023-02-27  5:24 ` [PATCH v2 51/76] target/riscv: Drop ftemp_new Richard Henderson
2023-02-27  5:24 ` [PATCH v2 52/76] target/riscv: Drop temp_new Richard Henderson
2023-02-27  5:24 ` [PATCH v2 53/76] target/riscv: Drop tcg_temp_free Richard Henderson
2023-02-27  5:24 ` [PATCH v2 54/76] target/rx: " Richard Henderson
2023-03-03 18:50   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 55/76] target/s390x: Use tcg_constant_* in local contexts Richard Henderson
2023-02-27  5:24 ` [PATCH v2 56/76] target/s390x: Use tcg_constant_* for DisasCompare Richard Henderson
2023-02-27  5:24 ` [PATCH v2 57/76] target/s390x: Use tcg_constant_i32 for fpinst_extract_m34 Richard Henderson
2023-02-27  5:24 ` [PATCH v2 58/76] target/s390x: Use tcg_constant_* in translate_vx.c.inc Richard Henderson
2023-02-27  5:24 ` [PATCH v2 59/76] target/s390x: Drop free_compare Richard Henderson
2023-02-27  5:24 ` [PATCH v2 60/76] target/s390x: Drop tcg_temp_free from translate_vx.c.inc Richard Henderson
2023-02-27  5:24 ` [PATCH v2 61/76] target/s390x: Drop tcg_temp_free from translate.c Richard Henderson
2023-02-27  5:24 ` [PATCH v2 62/76] target/s390x: Remove assert vs g_in2 Richard Henderson
2023-02-27  5:24 ` [PATCH v2 63/76] target/s390x: Remove g_out, g_out2, g_in1, g_in2 from DisasContext Richard Henderson
2023-02-27  5:24 ` [PATCH v2 64/76] target/sh4: Drop tcg_temp_free Richard Henderson
2023-03-03 18:51   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 65/76] target/sparc: Drop get_temp_tl Richard Henderson
2023-03-03 19:05   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 66/76] target/sparc: Drop get_temp_i32 Richard Henderson
2023-03-03 19:09   ` Peter Maydell
2023-03-03 19:57     ` Richard Henderson
2023-02-27  5:24 ` [PATCH v2 67/76] target/sparc: Remove egress label in disas_sparc_context Richard Henderson
2023-03-03 19:07   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 68/76] target/sparc: Drop free_compare Richard Henderson
2023-03-03 19:07   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 69/76] target/sparc: Drop tcg_temp_free Richard Henderson
2023-03-03 19:08   ` Peter Maydell
2023-02-27  5:24 ` [PATCH v2 70/76] target/tricore: " Richard Henderson
2023-02-27  5:25 ` [PATCH v2 71/76] target/xtensa: Drop reset_sar_tracker Richard Henderson
2023-02-27  5:25 ` [PATCH v2 72/76] target/xtensa: Drop tcg_temp_free Richard Henderson
2023-02-27  5:25 ` [PATCH v2 73/76] include/exec/gen-icount: Drop tcg_temp_free in gen_tb_start Richard Henderson
2023-03-03 18:28   ` Peter Maydell
2023-02-27  5:25 ` [PATCH v2 74/76] tracing: remove transform.py Richard Henderson
2023-02-27  5:25 ` [PATCH v2 75/76] tcg: Create tcg/tcg-temp-internal.h Richard Henderson
2023-03-03 18:31   ` Peter Maydell
2023-02-27  5:25 ` [PATCH v2 76/76] docs/devel/tcg-ops: Drop recommendation to free temps Richard Henderson
2023-03-01 17:01 ` [PATCH v2 00/76] tcg: Drop tcg_temp_free from translators Mark Cave-Ayland
2023-03-03 19:11 ` Peter Maydell

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).