On 27/02/2023 05:23, Richard Henderson wrote:
> 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
For the SPARC parts:
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
ATB,
Mark.