[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
- [PATCH 00/11] tcg: Move tcg expanders out of line,
Richard Henderson <=
- [PATCH 01/11] tcg: Mark tcg_gen_op* as noinline, Richard Henderson, 2023/10/29
- [PATCH 02/11] tcg: Move tcg_gen_op* out of line, Richard Henderson, 2023/10/29
- [PATCH 04/11] tcg: Move 32-bit expanders out of line, Richard Henderson, 2023/10/29
- [PATCH 03/11] tcg: Move generic expanders out of line, Richard Henderson, 2023/10/29
- [PATCH 06/11] tcg: Move vec_gen_* declarations to tcg-internal.h, Richard Henderson, 2023/10/29
- [PATCH 05/11] tcg: Move 64-bit expanders out of line, Richard Henderson, 2023/10/29
- [PATCH 09/11] tcg: Move tcg_constant_* out of line, Richard Henderson, 2023/10/29
- [PATCH 08/11] tcg: Unexport tcg_gen_op*_{i32,i64}, Richard Henderson, 2023/10/29
- [PATCH 11/11] tcg: Move tcg_temp_free_* out of line, Richard Henderson, 2023/10/29
- [PATCH 10/11] tcg: Move tcg_temp_new_*, tcg_global_mem_new_* out of line, Richard Henderson, 2023/10/29