Compute all carry bits in parallel instead of a loop.
Signed-off-by: Richard Henderson
---
target/ppc/translate/fixedpoint-impl.c.inc | 44 +++---
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/target/ppc/translate/fixedpoint-impl.c.inc
Guest front-ends now get temps that span the lifetime of
the translation block by default, which avoids accidentally
using the temp across branches and invalidating the data.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 8
1 file
Translators are no longer required to free tcg temporaries,
therefore there's no need to record temps for later freeing.
Replace the few uses with tcg_temp_new_i64.
Reviewed-by: Weiwei Li
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
target/riscv/translate.c | 24
This removes the only use of temp.
Signed-off-by: Richard Henderson
---
target/tricore/translate.c | 7 ++-
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/target/tricore/translate.c b/target/tricore/translate.c
index d5129f22f5..6b7b876808 100644
---
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/ppc/translate/vsx-impl.c.inc | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/target/ppc/translate/vsx-impl.c.inc
b/target/ppc/translate/vsx-impl.c.inc
index
Remove the local definition of rx_abs.
Signed-off-by: Richard Henderson
---
target/rx/translate.c | 12 +---
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/target/rx/translate.c b/target/rx/translate.c
index 6624414739..998e6e0b7e 100644
--- a/target/rx/translate.c
+++
These functions are no longer used.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op.h | 4
include/tcg/tcg.h| 6 --
tcg/tcg.c| 16
3 files changed, 26 deletions(-)
diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/translate_addr_const.c | 7 ---
1 file changed, 7 deletions(-)
diff --git a/target/mips/tcg/translate_addr_const.c
b/target/mips/tcg/translate_addr_const.c
index
Reorg temporary usage so that we can use tcg_constant_i32.
tcg_gen_deposit_i32 already has a width == 32 special case,
so remove the check here.
Signed-off-by: Richard Henderson
---
target/arm/translate.c | 13 +
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git
Translators are no longer required to free tcg temporaries.
Remove the g1 and g2 members of DisasCompare, as they were
used to track which temps needed to be freed.
Signed-off-by: Richard Henderson
---
target/s390x/tcg/translate.c | 46 +---
1 file changed, 1
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/rx/translate.c | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/target/rx/translate.c b/target/rx/translate.c
index 6b218d5d5e..70fad98e93 100644
---
This wasn't actually used at all, just some unused
macro re-definitions.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index
Compute the eflags write mask separately, leaving one call
to the helper. Use tcg_constant_i32.
Signed-off-by: Richard Henderson
---
target/i386/tcg/translate.c | 55 -
1 file changed, 11 insertions(+), 44 deletions(-)
diff --git
All uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/ppc/power8-pmu-regs.c.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/ppc/power8-pmu-regs.c.inc b/target/ppc/power8-pmu-regs.c.inc
index 42f2cd04a1..d900e13cad 100644
---
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/include/tcg/tcg-op.h b/include/tcg/tcg-op.h
index 839d91c0c7..66b1461caa 100644
--- a/include/tcg/tcg-op.h
+++ b/include/tcg/tcg-op.h
@@ -1285,6
It is easy enough to use mov instead of or-with-zero
and relying on the optimizer to fold away the or.
Use an array for the output, rather than separate
tcg_res{l,h} variables.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 41 +++---
1 file
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
docs/devel/tcg-ops.rst | 4
1 file changed, 4 deletions(-)
diff --git a/docs/devel/tcg-ops.rst b/docs/devel/tcg-ops.rst
index 561c416574..f3f451b77f 100644
--- a/docs/devel/tcg-ops.rst
+++ b/docs/devel/tcg-ops.rst
Translators are no longer required to free tcg temporaries.
Remove sar_m32_allocated, as sar_m32 non-null is equivalent.
Reviewed-by: Max Filippov
Signed-off-by: Richard Henderson
---
target/xtensa/translate.c | 14 ++
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git
The allocation is immediately followed by tcg_gen_mov_i32,
so the initial assignment of zero is discarded.
Signed-off-by: Richard Henderson
---
target/hexagon/idef-parser/parser-helpers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
In preparation for extracting new helpers, ensure that
the rounding mode is represented as ARMFPRounding and
not FloatRoundMode.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 16
target/arm/translate-sve.c | 18 +-
target/arm/translate-vfp.c
All uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/ppc/translate/fp-impl.c.inc | 26 --
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/target/ppc/translate/fp-impl.c.inc
b/target/ppc/translate/fp-impl.c.inc
index
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 158
1 file changed, 77 insertions(+), 81 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 3d97aaf578..e16c608ef8
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/ppc/translate/vmx-impl.c.inc | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/target/ppc/translate/vmx-impl.c.inc
b/target/ppc/translate/vmx-impl.c.inc
index
Change the temps_in_use check to use assert not fprintf.
Move the assert for double-free before the check for count,
since that is the more immediate problem.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 12 +---
1 file changed, 5 insertions(+),
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/xtensa/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index f906ba7ed5..0cf3075649 100644
---
Signed-off-by: Richard Henderson
---
target/sparc/translate.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index bdf464f802..560fb32e28 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
Return a constant for an immediate input.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 7a87811427..7435e51acc 100644
--- a/target/m68k/translate.c
+++
These symbols are now unused.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg-op.h | 2 --
include/tcg/tcg.h| 28
tcg/tcg.c| 16
3 files changed, 46 deletions(-)
diff --git
TEMP_NORMAL is a subset of TEMP_EBB. Promote single basic
block temps to single extended basic block.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 2 --
tcg/tcg.c | 19 +++
2 files changed, 3 insertions(+), 18
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/i386/tcg/translate.c | 41
target/i386/tcg/decode-new.c.inc | 15
target/i386/tcg/emit.c.inc | 6 -
3 files changed, 62
Here it is not trivial to notice first initialization, so explicitly
zero the temps. Use an array for the output, rather than separate
tcg_rd/tcg_rd_hi variables.
Fixes a bug by adding a missing clear_vec_high.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 26
The GET_USR_FIELD macro initializes the output, so the initial assignment
of zero is discarded. This is the only use of get_tmp_value outside of
parser-helper.c, so make it static.
Signed-off-by: Richard Henderson
---
target/hexagon/idef-parser/parser-helpers.h | 6 --
Use addi on the addition side and tcg_constant_i32 on the other.
Signed-off-by: Richard Henderson
---
target/xtensa/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index d727f9ffd8..41b84082de 100644
---
Since tcg_temp_new_i32 is now identical, use that.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/exec/gen-icount.h | 8 +---
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
index
Compute both partial results separately and accumulate
at the end, instead of accumulating in the middle.
Signed-off-by: Richard Henderson
---
target/ppc/translate/vmx-impl.c.inc | 21 +++--
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git
All uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/s390x/tcg/translate.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 7969051ce9..32d61fc40d 100644
---
Move the body out of this large macro.
Use tcg_constant_i64.
Signed-off-by: Richard Henderson
---
target/ppc/translate/vmx-impl.c.inc | 95 +++--
1 file changed, 49 insertions(+), 46 deletions(-)
diff --git a/target/ppc/translate/vmx-impl.c.inc
In several instances, a temp is initialized with a
for use as a constant, and then subsequently used
as an unrelated temp. Split them.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 29 -
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/sh4/translate.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/target/sh4/translate.c b/target/sh4/translate.c
index 70a45c26e8..97da8bce48 100644
---
Based-on: 20230225085945.1798188-1-richard.hender...@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
All uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/riscv/translate.c | 4 ++--
target/riscv/insn_trans/trans_rvv.c.inc | 4 ++--
target/riscv/insn_trans/trans_rvzfh.c.inc | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git
These three cases use a constant as first input, and
then overwrite the temp in the output. Separate them.
Signed-off-by: Richard Henderson
---
target/rx/translate.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/target/rx/translate.c b/target/rx/translate.c
Since tcg_temp_new is now identical, use that.
In some cases we can avoid a copy from A0 or T0.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/i386/tcg/translate.c | 27 +--
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git
Split out common subroutines for handing rounding mode
changes during translation. Use tcg_constant_i32 and
tcg_temp_new_i32 instead of tcg_const_i32.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 17 ++
target/arm/translate-a64.c | 47
Move the tcg_temp_free_* and tcg_temp_ebb_new_* declarations
and inlines to the new header. These are private to the
implementation, and will prevent tcg_temp_free_* from creaping
back into the guest front ends.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-temp-internal.h | 83
Use a C test instead of a pre-processor test for the id.
Use tcg_constant_i64 instead of tcg_const_i64.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/target/hppa/translate.c
Use proper enumeration types for input and output.
Use a const array to perform the mapping, with an
assert that the input is valid.
Signed-off-by: Richard Henderson
---
target/arm/internals.h | 12 +---
target/arm/translate-mve.c | 2 +-
target/arm/vfp_helper.c| 33
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/avr/translate.c | 228 -
1 file changed, 228 deletions(-)
diff --git a/target/avr/translate.c b/target/avr/translate.c
index 4f8112c3e6..b9506a8d86
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/tx79_translate.c | 41
1 file changed, 41 deletions(-)
diff --git a/target/mips/tcg/tx79_translate.c b/target/mips/tcg/tx79_translate.c
index
Here we are creating a temp whose value needs to be replaced,
but always storing NULL into CPUState.plugin_mem_cbs.
Use tcg_constant_ptr(0) explicitly.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
accel/tcg/plugin-gen.c | 8 ++--
1 file changed, 2 insertions(+),
The use of separate data/port variables is existing
practice elsewhere, e.g. SBI, CBI.
Signed-off-by: Richard Henderson
---
target/avr/translate.c | 18 ++
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/target/avr/translate.c b/target/avr/translate.c
index
Translators are no longer required to free tcg temporaries.
This removes gen_rvalue_free, gen_rvalue_free_manual and
free_variables, whose only purpose was to emit tcg_temp_free.
Signed-off-by: Richard Henderson
---
target/hexagon/idef-parser/README.rst | 8 --
In most cases, this is a simple local allocate and free
replaced by tcg_constant_*. In three cases, a variable
temp was initialized with a constant value -- reorg to
localize the constant. In gen_acc, this fixes a leak.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Ilya Leoshkevich
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/nanomips_translate.c.inc | 127 ++-
1 file changed, 10 insertions(+), 117 deletions(-)
diff --git a/target/mips/tcg/nanomips_translate.c.inc
All remaining uses are strictly read-only.
Signed-off-by: Richard Henderson
---
target/mips/tcg/mxu_translate.c | 4 +-
target/mips/tcg/translate.c | 56 +++
target/mips/tcg/tx79_translate.c | 4 +-
target/mips/tcg/micromips_translate.c.inc
Since tcg_temp_new is now identical, use that.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/ppc/translate.c | 6 +++---
target/ppc/translate/spe-impl.c.inc | 8
target/ppc/translate/vmx-impl.c.inc | 4 ++--
3 files changed, 9
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/octeon_translate.c | 23 ---
1 file changed, 23 deletions(-)
diff --git a/target/mips/tcg/octeon_translate.c
b/target/mips/tcg/octeon_translate.c
index
This file, and a couple of uses, got left behind when the
tcg stuff was removed from tracetool.
Fixes: 126d4123c50a ("tracing: excise the tcg related from tracetool")
Signed-off-by: Richard Henderson
---
meson.build| 1 -
scripts/tracetool/__init__.py | 23 -
This hides the implicit initialization of a variable.
Signed-off-by: Richard Henderson
---
target/arm/translate-sve.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index 3ca60fb36b..92ab290106 100644
---
Allocate a separate temp for modification.
Signed-off-by: Richard Henderson
---
target/mips/tcg/translate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c
index 5c5660da5a..bec0a26c83 100644
---
Reusing TEMP_TB interferes with detecting whether the
temp can be adjusted to TEMP_EBB.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h | 2 +-
tcg/tcg.c | 101 --
2 files changed, 53 insertions(+), 50 deletions(-)
diff --git
All uses were read-write, so replace with a new
allocation and initialization.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 21 +++--
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index
Translators are no longer required to free tcg temporaries.
Reviewed-by: Max Filippov
Signed-off-by: Richard Henderson
---
target/xtensa/translate.c | 107 --
1 file changed, 107 deletions(-)
diff --git a/target/xtensa/translate.c
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/tcg-op-gvec.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tcg/tcg-op-gvec.c b/tcg/tcg-op-gvec.c
index a10d406bba..877b0b659b 100644
---
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 93 +
1 file changed, 1 insertion(+), 92 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index
Attempt to reduce the lifetime of TEMP_TB.
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 70 +++
1 file changed, 70 insertions(+)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 7ee935701a..6646770268 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/vr54xx_translate.c | 4
1 file changed, 4 deletions(-)
diff --git a/target/mips/tcg/vr54xx_translate.c
b/target/mips/tcg/vr54xx_translate.c
index a7d241e4e7..804672f84c 100644
Translators are no longer required to free tcg temporaries,
therefore there's no need to record temps for later freeing.
Replace the few uses with tcg_temp_new.
Reviewed-by: Weiwei Li
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
target/riscv/translate.c
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/micromips_translate.c.inc | 8
1 file changed, 8 deletions(-)
diff --git a/target/mips/tcg/micromips_translate.c.inc
b/target/mips/tcg/micromips_translate.c.inc
index
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/s390x/tcg/translate_vx.c.inc | 143
1 file changed, 143 deletions(-)
diff --git a/target/s390x/tcg/translate_vx.c.inc
b/target/s390x/tcg/translate_vx.c.inc
Success from trans_* subroutines should be true.
Fixes: 5fa38eedbd ("target/mips: Convert Vr54xx MACC* opcodes to decodetree")
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/mips/tcg/vr54xx_translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/microblaze/translate.c | 54 ---
1 file changed, 54 deletions(-)
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/cris/translate.c | 20
1 file changed, 20 deletions(-)
diff --git a/target/cris/translate.c b/target/cris/translate.c
index a959b27373..76db745fe2 100644
---
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 1 -
target/arm/translate-a64.c | 17 -
target/arm/translate.c | 9 -
3 files changed, 4 insertions(+), 23 deletions(-)
diff --git
This variable is not used, only allocated and freed.
Signed-off-by: Richard Henderson
---
target/avr/translate.c | 4
1 file changed, 4 deletions(-)
diff --git a/target/avr/translate.c b/target/avr/translate.c
index e7f0e2bbe3..4f8112c3e6 100644
--- a/target/avr/translate.c
+++
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 181
1 file changed, 181 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index d7237b6a99..3055d2d246
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/cris/translate.c | 70 -
target/cris/translate_v10.c.inc | 41 ---
2 files changed, 111 deletions(-)
diff --git
Translators are no longer required to free tcg temporaries.
Reviewed-by: Song Gao
Signed-off-by: Richard Henderson
---
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 ---
Only the use within cpu_reg requires a writable temp,
so inline new_tmp_a64_zero there. All other uses are
fine with a constant temp, so use tcg_constant_i64(0).
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.h | 1 -
target/arm/translate-a64.c | 41
Translators are no longer required to free tcg temporaries,
therefore there's no need to record temps for later freeing.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 3 ---
target/arm/translate-a64.c | 25 +
2 files changed, 1 insertion(+), 27
Translators are no longer required to free tcg temporaries,
therefore there's no need to record temps for later freeing.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 55 ++---
1 file changed, 13 insertions(+), 42 deletions(-)
diff --git
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/msa_translate.c | 9 -
1 file changed, 9 deletions(-)
diff --git a/target/mips/tcg/msa_translate.c b/target/mips/tcg/msa_translate.c
index 1bcdbb1121..220cd3b048 100644
---
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 70
1 file changed, 70 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index a0afdbb465..9d25e21164
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/mips/tcg/mips16e_translate.c.inc | 6 --
1 file changed, 6 deletions(-)
diff --git a/target/mips/tcg/mips16e_translate.c.inc
b/target/mips/tcg/mips16e_translate.c.inc
index
This field was only used to avoid freeing globals.
Since we no longer free any temps, this is dead.
Signed-off-by: Richard Henderson
---
target/arm/translate.h | 1 -
target/arm/translate.c | 5 -
2 files changed, 6 deletions(-)
diff --git a/target/arm/translate.h b/target/arm/translate.h
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/arm/translate-mve.c | 52 --
1 file changed, 52 deletions(-)
diff --git a/target/arm/translate-mve.c b/target/arm/translate-mve.c
index
Finish removing tcg temp free accounting interfaces.
Signed-off-by: Richard Henderson
---
include/exec/translator.h | 2 --
accel/tcg/translator.c | 4
target/alpha/translate.c | 1 -
target/arm/translate-a64.c | 2 --
target/arm/translate.c | 1 -
target/ppc/translate.c | 2
Translators are no longer required to free tcg temporaries,
therefore there's no need to record temps for later freeing.
Replace the few uses with tcg_temp_new.
Reviewed-by: Song Gao
Signed-off-by: Richard Henderson
---
target/loongarch/translate.h | 3 ---
Translators are no longer required to free tcg temporaries.
Remove the g1 and g2 members of DisasCompare, as they were
used to track which temps needed to be freed.
Signed-off-by: Richard Henderson
---
target/m68k/translate.c | 40
1 file changed, 40
Translators are no longer required to free tcg temporaries,
therefore there's no need to record for later freeing.
Signed-off-by: Richard Henderson
---
target/avr/translate.c | 19 ---
1 file changed, 19 deletions(-)
diff --git a/target/avr/translate.c b/target/avr/translate.c
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/arm/translate-m-nocp.c | 20
1 file changed, 20 deletions(-)
diff --git a/target/arm/translate-m-nocp.c b/target/arm/translate-m-nocp.c
index 5df7d46120..9a89aab785
This is now a simple wrapper for tcg_temp_new_i64.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.h | 1 -
target/arm/translate-a64.c | 45 +-
target/arm/translate-sve.c | 20 -
3 files changed, 30 insertions(+), 36
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 468 +
1 file changed, 11 insertions(+), 457 deletions(-)
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/hexagon/gen_tcg_funcs.py | 79 +
1 file changed, 1 insertion(+), 78 deletions(-)
diff --git a/target/hexagon/gen_tcg_funcs.py
Translators are no longer required to free tcg temporaries.
Signed-off-by: Richard Henderson
---
target/arm/translate-neon.c | 131 +---
1 file changed, 1 insertion(+), 130 deletions(-)
diff --git a/target/arm/translate-neon.c b/target/arm/translate-neon.c
index
Since all temps allocated by guest front-ends are now TEMP_TB,
and we don't recycle TEMP_TB, there's no point in requiring
that the front-ends free the temps at all. Begin by dropping
the inner-most checks that all temps have been freed.
Signed-off-by: Richard Henderson
---
include/tcg/tcg.h
Since commit ee6d3dd4ed48 ("driver core: make kobj_type constant.")
the driver core allows the usage of const struct kobj_type.
Take advantage of this to constify the structure definition to prevent
modification at runtime.
Signed-off-by: Thomas Weißschuh
---
drivers/firmware/qemu_fw_cfg.c | 2
Due to multiple capabilities associated with the dirty ring for different
architectures: KVM_CAP_DIRTY_{LOG_RING, LOG_RING_ACQ_REL} for x86 and
arm64 separately. There will be more to be done in order to support the
dirty ring for arm64.
Lets add helper kvm_dirty_ring_init() to enable the dirty
The global dirty log synchronization is used when KVM and dirty ring
are enabled. There is a particularity for ARM64 where the backup
bitmap is used to track dirty pages in non-running-vcpu situations.
It means the dirty ring works with the combination of ring buffer
and backup bitmap. The dirty
This series intends to support dirty ring for live migration for arm64. The
dirty ring use discrete buffer to track dirty pages. For arm64, the speciality
is to use backup bitmap to track dirty pages when there is no-running-vcpu
context. It's known that the backup bitmap needs to be synchronized
1 - 100 of 174 matches
Mail list logo