qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 00/11] tcg: Move tcg expanders out of line


From: Richard Henderson
Subject: [PATCH 00/11] tcg: Move tcg expanders out of line
Date: Sun, 29 Oct 2023 14:08:37 -0700

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 via email to

[Prev in Thread] Current Thread [Next in Thread]