[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 07/76] target/arm: Drop DisasContext.tmp_a64
From: |
Richard Henderson |
Subject: |
[PATCH v2 07/76] target/arm: Drop DisasContext.tmp_a64 |
Date: |
Sun, 26 Feb 2023 19:23:56 -1000 |
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 <richard.henderson@linaro.org>
---
target/arm/translate.h | 3 ---
target/arm/translate-a64.c | 25 +------------------------
2 files changed, 1 insertion(+), 27 deletions(-)
diff --git a/target/arm/translate.h b/target/arm/translate.h
index db29e8d799..d7fdbc1e3e 100644
--- a/target/arm/translate.h
+++ b/target/arm/translate.h
@@ -149,9 +149,6 @@ typedef struct DisasContext {
int c15_cpar;
/* TCG op of the current insn_start. */
TCGOp *insn_start;
-#define TMP_A64_MAX 16
- int tmp_a64_count;
- TCGv_i64 tmp_a64[TMP_A64_MAX];
} DisasContext;
typedef struct DisasCompare {
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 2a0bba3815..98d1bee5d5 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -408,27 +408,9 @@ static void gen_goto_tb(DisasContext *s, int n, int64_t
diff)
}
}
-static void init_tmp_a64_array(DisasContext *s)
-{
-#ifdef CONFIG_DEBUG_TCG
- memset(s->tmp_a64, 0, sizeof(s->tmp_a64));
-#endif
- s->tmp_a64_count = 0;
-}
-
-static void free_tmp_a64(DisasContext *s)
-{
- int i;
- for (i = 0; i < s->tmp_a64_count; i++) {
- tcg_temp_free_i64(s->tmp_a64[i]);
- }
- init_tmp_a64_array(s);
-}
-
TCGv_i64 new_tmp_a64(DisasContext *s)
{
- assert(s->tmp_a64_count < TMP_A64_MAX);
- return s->tmp_a64[s->tmp_a64_count++] = tcg_temp_new_i64();
+ return tcg_temp_new_i64();
}
TCGv_i64 new_tmp_a64_zero(DisasContext *s)
@@ -14781,8 +14763,6 @@ static void
aarch64_tr_init_disas_context(DisasContextBase *dcbase,
bound = 1;
}
dc->base.max_insns = MIN(dc->base.max_insns, bound);
-
- init_tmp_a64_array(dc);
}
static void aarch64_tr_tb_start(DisasContextBase *db, CPUState *cpu)
@@ -14938,9 +14918,6 @@ static void aarch64_tr_translate_insn(DisasContextBase
*dcbase, CPUState *cpu)
break;
}
- /* if we allocated any temporaries, free them here */
- free_tmp_a64(s);
-
/*
* After execution of most insns, btype is reset to 0.
* Note that we set btype == -1 when the insn sets btype.
--
2.34.1
- [PATCH v2 00/76] tcg: Drop tcg_temp_free from translators, Richard Henderson, 2023/02/27
- [PATCH v2 02/76] accel/tcg: Remove translator_loop_temp_check, Richard Henderson, 2023/02/27
- [PATCH v2 04/76] target/arm: Remove arm_free_cc, a64_free_cc, Richard Henderson, 2023/02/27
- [PATCH v2 01/76] tcg: Remove tcg_check_temp_count, tcg_clear_temp_count, Richard Henderson, 2023/02/27
- [PATCH v2 03/76] target/alpha: Drop tcg_temp_free, Richard Henderson, 2023/02/27
- [PATCH v2 07/76] target/arm: Drop DisasContext.tmp_a64,
Richard Henderson <=
- [PATCH v2 09/76] target/arm: Drop new_tmp_a64_zero, Richard Henderson, 2023/02/27
- [PATCH v2 05/76] target/arm: Remove value_global from DisasCompare, Richard Henderson, 2023/02/27
- [PATCH v2 11/76] target/arm: Drop tcg_temp_free from translator-m-nocp.c, Richard Henderson, 2023/02/27
- [PATCH v2 06/76] target/arm: Drop tcg_temp_free from translator.c, Richard Henderson, 2023/02/27
- [PATCH v2 13/76] target/arm: Drop tcg_temp_free from translator-neon.c, Richard Henderson, 2023/02/27
- [PATCH v2 08/76] target/arm: Drop new_tmp_a64, Richard Henderson, 2023/02/27
- [PATCH v2 10/76] target/arm: Drop tcg_temp_free from translator-a64.c, Richard Henderson, 2023/02/27
- [PATCH v2 12/76] target/arm: Drop tcg_temp_free from translator-mve.c, Richard Henderson, 2023/02/27
- [PATCH v2 15/76] target/arm: Drop tcg_temp_free from translator-sve.c, Richard Henderson, 2023/02/27
- [PATCH v2 16/76] target/arm: Drop tcg_temp_free from translator-vfp.c, Richard Henderson, 2023/02/27