[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 43/62] tcg: Add tcg_temp_ebb_new_{i32,i64,ptr}
From: |
Richard Henderson |
Subject: |
[PULL 43/62] tcg: Add tcg_temp_ebb_new_{i32,i64,ptr} |
Date: |
Tue, 28 Feb 2023 16:56:24 -1000 |
TCG internals will want to be able to allocate and reuse
explicitly life-limited temporaries.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/tcg/tcg.h | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index 8d896bcbf4..0c2041bcf7 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -892,6 +892,13 @@ static inline TCGv_i32 tcg_global_mem_new_i32(TCGv_ptr
reg, intptr_t offset,
return temp_tcgv_i32(t);
}
+/* Used only by tcg infrastructure: tcg-op.c or plugin-gen.c */
+static inline TCGv_i32 tcg_temp_ebb_new_i32(void)
+{
+ TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I32, TEMP_EBB);
+ return temp_tcgv_i32(t);
+}
+
static inline TCGv_i32 tcg_temp_new_i32(void)
{
TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I32, TEMP_EBB);
@@ -911,6 +918,13 @@ static inline TCGv_i64 tcg_global_mem_new_i64(TCGv_ptr
reg, intptr_t offset,
return temp_tcgv_i64(t);
}
+/* Used only by tcg infrastructure: tcg-op.c or plugin-gen.c */
+static inline TCGv_i64 tcg_temp_ebb_new_i64(void)
+{
+ TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I64, TEMP_EBB);
+ return temp_tcgv_i64(t);
+}
+
static inline TCGv_i64 tcg_temp_new_i64(void)
{
TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I64, TEMP_EBB);
@@ -923,6 +937,13 @@ static inline TCGv_i64 tcg_temp_local_new_i64(void)
return temp_tcgv_i64(t);
}
+/* Used only by tcg infrastructure: tcg-op.c or plugin-gen.c */
+static inline TCGv_i128 tcg_temp_ebb_new_i128(void)
+{
+ TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I128, TEMP_EBB);
+ return temp_tcgv_i128(t);
+}
+
static inline TCGv_i128 tcg_temp_new_i128(void)
{
TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_I128, TEMP_EBB);
@@ -942,6 +963,13 @@ static inline TCGv_ptr tcg_global_mem_new_ptr(TCGv_ptr
reg, intptr_t offset,
return temp_tcgv_ptr(t);
}
+/* Used only by tcg infrastructure: tcg-op.c or plugin-gen.c */
+static inline TCGv_ptr tcg_temp_ebb_new_ptr(void)
+{
+ TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_PTR, TEMP_EBB);
+ return temp_tcgv_ptr(t);
+}
+
static inline TCGv_ptr tcg_temp_new_ptr(void)
{
TCGTemp *t = tcg_temp_new_internal(TCG_TYPE_PTR, TEMP_EBB);
--
2.34.1
- [PULL 26/62] target/i386: Replace `tb_pc()` with `tb->pc`, (continued)
- [PULL 26/62] target/i386: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 27/62] target/hppa: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 36/62] tcg: Rename TEMP_LOCAL to TEMP_TB, Richard Henderson, 2023/02/28
- [PULL 37/62] tcg: Use noinline for major tcg_gen_code subroutines, Richard Henderson, 2023/02/28
- [PULL 38/62] tcg: Add liveness_pass_0, Richard Henderson, 2023/02/28
- [PULL 39/62] tcg: Remove TEMP_NORMAL, Richard Henderson, 2023/02/28
- [PULL 47/62] accel/tcg/plugin: Tidy plugin_gen_disable_mem_helpers, Richard Henderson, 2023/02/28
- [PULL 58/62] target/ppc: Don't use tcg_temp_local_new, Richard Henderson, 2023/02/28
- [PULL 46/62] accel/tcg/plugin: Use tcg_temp_ebb_*, Richard Henderson, 2023/02/28
- [PULL 55/62] target/hppa: Don't use tcg_temp_local_new, Richard Henderson, 2023/02/28
- [PULL 43/62] tcg: Add tcg_temp_ebb_new_{i32,i64,ptr},
Richard Henderson <=
- [PULL 44/62] tcg: Use tcg_temp_ebb_new_* in tcg/, Richard Henderson, 2023/02/28
- [PULL 60/62] exec/gen-icount: Don't use tcg_temp_local_new_i32, Richard Henderson, 2023/02/28
- [PULL 56/62] target/i386: Don't use tcg_temp_local_new, Richard Henderson, 2023/02/28
- [PULL 50/62] target/arm: Drop copies in gen_sve_{ldr,str}, Richard Henderson, 2023/02/28
- [PULL 48/62] tcg: Don't re-use TEMP_TB temporaries, Richard Henderson, 2023/02/28
- [PULL 40/62] tcg: Pass TCGTempKind to tcg_temp_new_internal, Richard Henderson, 2023/02/28
- [PULL 49/62] tcg: Change default temp lifetime to TEMP_TB, Richard Henderson, 2023/02/28
- [PULL 59/62] target/xtensa: Don't use tcg_temp_local_new_*, Richard Henderson, 2023/02/28
- [PULL 42/62] tcg: Add tcg_gen_movi_ptr, Richard Henderson, 2023/02/28
- [PULL 45/62] tcg: Use tcg_constant_ptr in do_dup, Richard Henderson, 2023/02/28