On 3/19/24 04:04, Alex Bennée wrote:
Richard Henderson <richard.hender...@linaro.org> writes:

Allow operations to be emitted via normal expanders
into the middle of the opcode stream.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  include/tcg/tcg.h |  1 +
  tcg/tcg.c         | 14 ++++++++++++--
  2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index 451f3fec41..e9d05f40b0 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -552,6 +552,7 @@ struct TCGContext {
QTAILQ_HEAD(, TCGOp) ops, free_ops;
      QSIMPLEQ_HEAD(, TCGLabel) labels;
+    TCGOp *emit_before_op;

Could we add some kdoc comments to the TCGContext describing what each
variables is for. Is this just a list of ops to emit before the current
instruction emulation? Is it cleared between instruction boundaries?

It's not a list, it's an insertion point.
Nothing automatic about it; manually controlled by plugin-gen.c.
(I believe it will be useful for cleanup in tcg/optimize.c as well.)


r~


Reply via email to