Remember the value of nb_ops before optimization.
To be copied into TBStatistics when desired.

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

diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index 82b4625773..e49574b7c7 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -564,6 +564,9 @@ struct TCGContext {
     uint16_t gen_insn_end_off[TCG_MAX_INSNS];
     uint64_t *gen_insn_data;
 
+    /* Used by TBStatistics */
+    int orig_nb_ops;
+
     /* Exit to translator on overflow. */
     sigjmp_buf jmp_trans;
 };
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 71c25f1974..e90b0a0c69 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -5924,6 +5924,8 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb, 
uint64_t pc_start)
     int i, start_words, num_insns;
     TCGOp *op;
 
+    s->orig_nb_ops = s->nb_ops;
+
     if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP)
                  && qemu_log_in_addr_range(pc_start))) {
         FILE *logfile = qemu_log_trylock();
-- 
2.34.1


Reply via email to