Message ID | 20171215170732.31125-4-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | TCG misc patches | expand |
On 12/15/2017 02:07 PM, Richard Henderson wrote: > These are now trivial sets and tests against NULL. Unwrap. Finally :) > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > tcg/tcg-op.h | 4 --- > tcg/tcg.h | 9 ------- > target/alpha/translate.c | 22 ++++++++-------- > target/arm/translate-a64.c | 35 +++++++++++------------- > target/arm/translate.c | 29 ++++++++++---------- > target/cris/translate.c | 2 +- > target/hppa/translate.c | 63 ++++++++++++++++++++++---------------------- > target/i386/translate.c | 13 +++++---- > target/m68k/translate.c | 14 +++++----- > target/mips/translate.c | 2 +- > target/nios2/translate.c | 6 ++--- > target/ppc/translate.c | 2 +- > target/s390x/translate.c | 42 ++++++++++++++--------------- > target/sh4/translate.c | 2 +- > target/sparc/translate.c | 2 +- > target/tilegx/translate.c | 10 +++---- > target/unicore32/translate.c | 4 +-- > tcg/tcg.c | 4 +-- > 18 files changed, 122 insertions(+), 143 deletions(-) > > diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h > index 3129159907..ca07b32b65 100644 > --- a/tcg/tcg-op.h > +++ b/tcg/tcg-op.h > @@ -807,8 +807,6 @@ void tcg_gen_lookup_and_goto_ptr(void); > #define tcg_global_mem_new tcg_global_mem_new_i32 > #define tcg_temp_local_new() tcg_temp_local_new_i32() > #define tcg_temp_free tcg_temp_free_i32 > -#define TCGV_UNUSED(x) TCGV_UNUSED_I32(x) > -#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x) > #define tcg_gen_qemu_ld_tl tcg_gen_qemu_ld_i32 > #define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i32 > #else > @@ -817,8 +815,6 @@ void tcg_gen_lookup_and_goto_ptr(void); > #define tcg_global_mem_new tcg_global_mem_new_i64 > #define tcg_temp_local_new() tcg_temp_local_new_i64() > #define tcg_temp_free tcg_temp_free_i64 > -#define TCGV_UNUSED(x) TCGV_UNUSED_I64(x) > -#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x) > #define tcg_gen_qemu_ld_tl tcg_gen_qemu_ld_i64 > #define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i64 > #endif > diff --git a/tcg/tcg.h b/tcg/tcg.h > index cb7b329876..c21194c858 100644 > --- a/tcg/tcg.h > +++ b/tcg/tcg.h > @@ -428,15 +428,6 @@ typedef TCGv_ptr TCGv_env; > #error Unhandled TARGET_LONG_BITS value > #endif > > -/* See the comment before tcgv_i32_temp. */ > -#define TCGV_UNUSED_I32(x) (x = (TCGv_i32)NULL) > -#define TCGV_UNUSED_I64(x) (x = (TCGv_i64)NULL) > -#define TCGV_UNUSED_PTR(x) (x = (TCGv_ptr)NULL) > - > -#define TCGV_IS_UNUSED_I32(x) ((x) == (TCGv_i32)NULL) > -#define TCGV_IS_UNUSED_I64(x) ((x) == (TCGv_i64)NULL) > -#define TCGV_IS_UNUSED_PTR(x) ((x) == (TCGv_ptr)NULL) > - > /* call flags */ > /* Helper does not read globals (either directly or through an exception). It > implies TCG_CALL_NO_WRITE_GLOBALS. */ > diff --git a/target/alpha/translate.c b/target/alpha/translate.c > index 629f35ec8e..73a1b5e63e 100644 > --- a/target/alpha/translate.c > +++ b/target/alpha/translate.c > @@ -156,7 +156,7 @@ void alpha_translate_init(void) > > static TCGv load_zero(DisasContext *ctx) > { > - if (TCGV_IS_UNUSED_I64(ctx->zero)) { > + if (!ctx->zero) { > ctx->zero = tcg_const_i64(0); > } > return ctx->zero; > @@ -164,7 +164,7 @@ static TCGv load_zero(DisasContext *ctx) > > static TCGv dest_sink(DisasContext *ctx) > { > - if (TCGV_IS_UNUSED_I64(ctx->sink)) { > + if (!ctx->sink) { > ctx->sink = tcg_temp_new(); > } > return ctx->sink; > @@ -172,18 +172,18 @@ static TCGv dest_sink(DisasContext *ctx) > > static void free_context_temps(DisasContext *ctx) > { > - if (!TCGV_IS_UNUSED_I64(ctx->sink)) { > + if (ctx->sink) { > tcg_gen_discard_i64(ctx->sink); > tcg_temp_free(ctx->sink); > - TCGV_UNUSED_I64(ctx->sink); > + ctx->sink = NULL; > } > - if (!TCGV_IS_UNUSED_I64(ctx->zero)) { > + if (ctx->zero) { > tcg_temp_free(ctx->zero); > - TCGV_UNUSED_I64(ctx->zero); > + ctx->zero = NULL; > } > - if (!TCGV_IS_UNUSED_I64(ctx->lit)) { > + if (ctx->lit) { > tcg_temp_free(ctx->lit); > - TCGV_UNUSED_I64(ctx->lit); > + ctx->lit = NULL; > } > } > > @@ -2948,9 +2948,9 @@ static int alpha_tr_init_disas_context(DisasContextBase *dcbase, > /* Similarly for flush-to-zero. */ > ctx->tb_ftz = -1; > > - TCGV_UNUSED_I64(ctx->zero); > - TCGV_UNUSED_I64(ctx->sink); > - TCGV_UNUSED_I64(ctx->lit); > + ctx->zero = NULL; > + ctx->sink = NULL; > + ctx->lit = NULL; > > /* Bound the number of insns to execute to those left on the page. */ > if (in_superpage(ctx, ctx->base.pc_first)) { > diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c > index 625ef2dfd2..460bab5987 100644 > --- a/target/arm/translate-a64.c > +++ b/target/arm/translate-a64.c > @@ -405,10 +405,7 @@ static void unallocated_encoding(DisasContext *s) > static void init_tmp_a64_array(DisasContext *s) > { > #ifdef CONFIG_DEBUG_TCG > - int i; > - for (i = 0; i < ARRAY_SIZE(s->tmp_a64); i++) { > - TCGV_UNUSED_I64(s->tmp_a64[i]); > - } > + memset(s->tmp_a64, 0, sizeof(s->tmp_a64)); > #endif > s->tmp_a64_count = 0; > } > @@ -6276,7 +6273,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn) > return; > } > > - TCGV_UNUSED_PTR(fpst); > + fpst = NULL; > break; > case 0xc: /* FMAXNMP */ > case 0xd: /* FADDP */ > @@ -6371,7 +6368,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn) > tcg_temp_free_i32(tcg_res); > } > > - if (!TCGV_IS_UNUSED_PTR(fpst)) { > + if (fpst) { > tcg_temp_free_ptr(fpst); > } > } > @@ -6387,7 +6384,7 @@ static void handle_shri_with_rndacc(TCGv_i64 tcg_res, TCGv_i64 tcg_src, > bool is_u, int size, int shift) > { > bool extended_result = false; > - bool round = !TCGV_IS_UNUSED_I64(tcg_rnd); > + bool round = tcg_rnd != NULL; > int ext_lshift = 0; > TCGv_i64 tcg_src_hi; > > @@ -6533,7 +6530,7 @@ static void handle_scalar_simd_shri(DisasContext *s, > uint64_t round_const = 1ULL << (shift - 1); > tcg_round = tcg_const_i64(round_const); > } else { > - TCGV_UNUSED_I64(tcg_round); > + tcg_round = NULL; > } > > tcg_rn = read_fp_dreg(s, rn); > @@ -6649,7 +6646,7 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q, > uint64_t round_const = 1ULL << (shift - 1); > tcg_round = tcg_const_i64(round_const); > } else { > - TCGV_UNUSED_I64(tcg_round); > + tcg_round = NULL; > } > > for (i = 0; i < elements; i++) { > @@ -8239,8 +8236,8 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn) > gen_helper_set_rmode(tcg_rmode, tcg_rmode, cpu_env); > tcg_fpstatus = get_fpstatus_ptr(); > } else { > - TCGV_UNUSED_I32(tcg_rmode); > - TCGV_UNUSED_PTR(tcg_fpstatus); > + tcg_rmode = NULL; > + tcg_fpstatus = NULL; > } > > if (size == 3) { > @@ -8360,7 +8357,7 @@ static void handle_vec_simd_shri(DisasContext *s, bool is_q, bool is_u, > uint64_t round_const = 1ULL << (shift - 1); > tcg_round = tcg_const_i64(round_const); > } else { > - TCGV_UNUSED_I64(tcg_round); > + tcg_round = NULL; > } > > for (i = 0; i < elements; i++) { > @@ -8502,7 +8499,7 @@ static void handle_vec_simd_shrn(DisasContext *s, bool is_q, > uint64_t round_const = 1ULL << (shift - 1); > tcg_round = tcg_const_i64(round_const); > } else { > - TCGV_UNUSED_I64(tcg_round); > + tcg_round = NULL; > } > > for (i = 0; i < elements; i++) { > @@ -9168,7 +9165,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode, > if (opcode >= 0x58) { > fpst = get_fpstatus_ptr(); > } else { > - TCGV_UNUSED_PTR(fpst); > + fpst = NULL; > } > > if (!fp_access_check(s)) { > @@ -9305,7 +9302,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode, > } > } > > - if (!TCGV_IS_UNUSED_PTR(fpst)) { > + if (fpst) { > tcg_temp_free_ptr(fpst); > } > } > @@ -10226,13 +10223,13 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn) > if (need_fpstatus) { > tcg_fpstatus = get_fpstatus_ptr(); > } else { > - TCGV_UNUSED_PTR(tcg_fpstatus); > + tcg_fpstatus = NULL; > } > if (need_rmode) { > tcg_rmode = tcg_const_i32(arm_rmode_to_sf(rmode)); > gen_helper_set_rmode(tcg_rmode, tcg_rmode, cpu_env); > } else { > - TCGV_UNUSED_I32(tcg_rmode); > + tcg_rmode = NULL; > } > > if (size == 3) { > @@ -10593,7 +10590,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn) > if (is_fp) { > fpst = get_fpstatus_ptr(); > } else { > - TCGV_UNUSED_PTR(fpst); > + fpst = NULL; > } > > if (size == 3) { > @@ -10917,7 +10914,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn) > } > } > > - if (!TCGV_IS_UNUSED_PTR(fpst)) { > + if (fpst) { > tcg_temp_free_ptr(fpst); > } > } > diff --git a/target/arm/translate.c b/target/arm/translate.c > index e15192d5d6..46c25ae2c1 100644 > --- a/target/arm/translate.c > +++ b/target/arm/translate.c > @@ -2169,8 +2169,8 @@ static int disas_iwmmxt_insn(DisasContext *s, uint32_t insn) > tmp3 = tcg_const_i32((insn & 1) << 5); > break; > default: > - TCGV_UNUSED_I32(tmp2); > - TCGV_UNUSED_I32(tmp3); > + tmp2 = NULL; > + tmp3 = NULL; > } > gen_helper_iwmmxt_insr(cpu_M0, cpu_M0, tmp, tmp2, tmp3); > tcg_temp_free_i32(tmp3); > @@ -4939,7 +4939,7 @@ static int disas_neon_ls_insn(DisasContext *s, uint32_t insn) > } > } else /* size == 0 */ { > if (load) { > - TCGV_UNUSED_I32(tmp2); > + tmp2 = NULL; > for (n = 0; n < 4; n++) { > tmp = tcg_temp_new_i32(); > gen_aa32_ld8u(s, tmp, addr, get_mem_index(s)); > @@ -6643,11 +6643,11 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) > tmp = neon_load_reg(rn, 1); > neon_store_scratch(2, tmp); > } > - TCGV_UNUSED_I32(tmp3); > + tmp3 = NULL; > for (pass = 0; pass < 2; pass++) { > if (src1_wide) { > neon_load_reg64(cpu_V0, rn + pass); > - TCGV_UNUSED_I32(tmp); > + tmp = NULL; > } else { > if (pass == 1 && rd == rn) { > tmp = neon_load_scratch(2); > @@ -6660,7 +6660,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) > } > if (src2_wide) { > neon_load_reg64(cpu_V1, rm + pass); > - TCGV_UNUSED_I32(tmp2); > + tmp2 = NULL; > } else { > if (pass == 1 && rd == rm) { > tmp2 = neon_load_scratch(2); > @@ -7078,7 +7078,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) > if (rm & 1) { > return 1; > } > - TCGV_UNUSED_I32(tmp2); > + tmp2 = NULL; > for (pass = 0; pass < 2; pass++) { > neon_load_reg64(cpu_V0, rm + pass); > tmp = tcg_temp_new_i32(); > @@ -7217,7 +7217,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) > if (neon_2rm_is_float_op(op)) { > tcg_gen_ld_f32(cpu_F0s, cpu_env, > neon_reg_offset(rm, pass)); > - TCGV_UNUSED_I32(tmp); > + tmp = NULL; > } else { > tmp = neon_load_reg(rm, pass); > } > @@ -8666,7 +8666,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) > rn = (insn >> 16) & 0xf; > tmp = load_reg(s, rn); > } else { > - TCGV_UNUSED_I32(tmp); > + tmp = NULL; > } > rd = (insn >> 12) & 0xf; > switch(op1) { > @@ -9505,7 +9505,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) > > /* compute total size */ > loaded_base = 0; > - TCGV_UNUSED_I32(loaded_var); > + loaded_var = NULL; > n = 0; > for(i=0;i<16;i++) { > if (insn & (1 << i)) > @@ -10074,7 +10074,7 @@ static int disas_thumb2_insn(DisasContext *s, uint32_t insn) > tcg_gen_addi_i32(addr, addr, -offset); > } > > - TCGV_UNUSED_I32(loaded_var); > + loaded_var = NULL; > for (i = 0; i < 16; i++) { > if ((insn & (1 << i)) == 0) > continue; > @@ -11355,7 +11355,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) > } else if (op != 0xf) { /* mvn doesn't read its first operand */ > tmp = load_reg(s, rd); > } else { > - TCGV_UNUSED_I32(tmp); > + tmp = NULL; > } > > tmp2 = load_reg(s, rm); > @@ -11686,7 +11686,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) > tcg_gen_addi_i32(addr, addr, 4); > } > } > - TCGV_UNUSED_I32(tmp); > + tmp = NULL; > if (insn & (1 << 8)) { > if (insn & (1 << 11)) { > /* pop pc */ > @@ -11831,8 +11831,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) > case 12: > { > /* load/store multiple */ > - TCGv_i32 loaded_var; > - TCGV_UNUSED_I32(loaded_var); > + TCGv_i32 loaded_var = NULL; > rn = (insn >> 8) & 0x7; > addr = load_reg(s, rn); > for (i = 0; i < 8; i++) { > diff --git a/target/cris/translate.c b/target/cris/translate.c > index 2831419845..74822ed31f 100644 > --- a/target/cris/translate.c > +++ b/target/cris/translate.c > @@ -2603,7 +2603,7 @@ static int dec_movem_mr(CPUCRISState *env, DisasContext *dc) > tcg_gen_addi_tl(addr, cpu_R[dc->op1], i * 8); > gen_load(dc, tmp32, addr, 4, 0); > } else { > - TCGV_UNUSED(tmp32); > + tmp32 = NULL; > } > tcg_temp_free(addr); > > diff --git a/target/hppa/translate.c b/target/hppa/translate.c > index 53aa1f88c4..31d9a2a31b 100644 > --- a/target/hppa/translate.c > +++ b/target/hppa/translate.c > @@ -125,7 +125,7 @@ void hppa_translate_init(void) > > int i; > > - TCGV_UNUSED(cpu_gr[0]); > + cpu_gr[0] = NULL; > for (i = 1; i < 32; i++) { > cpu_gr[i] = tcg_global_mem_new(cpu_env, > offsetof(CPUHPPAState, gr[i]), > @@ -140,28 +140,31 @@ void hppa_translate_init(void) > > static DisasCond cond_make_f(void) > { > - DisasCond r = { .c = TCG_COND_NEVER }; > - TCGV_UNUSED(r.a0); > - TCGV_UNUSED(r.a1); > - return r; > + return (DisasCond){ > + .c = TCG_COND_NEVER, > + .a0 = NULL, > + .a1 = NULL, > + }; > } > > static DisasCond cond_make_n(void) > { > - DisasCond r = { .c = TCG_COND_NE, .a0_is_n = true, .a1_is_0 = true }; > - r.a0 = cpu_psw_n; > - TCGV_UNUSED(r.a1); > - return r; > + return (DisasCond){ > + .c = TCG_COND_NE, > + .a0 = cpu_psw_n, > + .a0_is_n = true, > + .a1 = NULL, > + .a1_is_0 = true > + }; > } > > static DisasCond cond_make_0(TCGCond c, TCGv a0) > { > - DisasCond r = { .c = c, .a1_is_0 = true }; > + DisasCond r = { .c = c, .a1 = NULL, .a1_is_0 = true }; > > assert (c != TCG_COND_NEVER && c != TCG_COND_ALWAYS); > r.a0 = tcg_temp_new(); > tcg_gen_mov_tl(r.a0, a0); > - TCGV_UNUSED(r.a1); > > return r; > } > @@ -199,8 +202,8 @@ static void cond_free(DisasCond *cond) > } > cond->a0_is_n = false; > cond->a1_is_0 = false; > - TCGV_UNUSED(cond->a0); > - TCGV_UNUSED(cond->a1); > + cond->a0 = NULL; > + cond->a1 = NULL; > /* fallthru */ > case TCG_COND_ALWAYS: > cond->c = TCG_COND_NEVER; > @@ -716,9 +719,8 @@ static DisasCond do_sed_cond(unsigned orig, TCGv res) > static DisasCond do_unit_cond(unsigned cf, TCGv res, TCGv in1, TCGv in2) > { > DisasCond cond; > - TCGv tmp, cb; > + TCGv tmp, cb = NULL; > > - TCGV_UNUSED(cb); > if (cf & 8) { > /* Since we want to test lots of carry-out bits all at once, do not > * do our normal thing and compute carry-in of bit B+1 since that > @@ -826,8 +828,8 @@ static DisasJumpType do_add(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, > DisasCond cond; > > dest = tcg_temp_new(); > - TCGV_UNUSED(cb); > - TCGV_UNUSED(cb_msb); > + cb = NULL; > + cb_msb = NULL; > > if (shift) { > tmp = get_temp(ctx); > @@ -856,7 +858,7 @@ static DisasJumpType do_add(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, > } > > /* Compute signed overflow if required. */ > - TCGV_UNUSED(sv); > + sv = NULL; > if (is_tsv || c == 6) { > sv = do_add_sv(ctx, dest, in1, in2); > if (is_tsv) { > @@ -919,7 +921,7 @@ static DisasJumpType do_sub(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, > tcg_temp_free(zero); > > /* Compute signed overflow if required. */ > - TCGV_UNUSED(sv); > + sv = NULL; > if (is_tsv || c == 6) { > sv = do_sub_sv(ctx, dest, in1, in2); > if (is_tsv) { > @@ -965,7 +967,7 @@ static DisasJumpType do_cmpclr(DisasContext *ctx, unsigned rt, TCGv in1, > tcg_gen_sub_tl(dest, in1, in2); > > /* Compute signed overflow if required. */ > - TCGV_UNUSED(sv); > + sv = NULL; > if ((cf >> 1) == 6) { > sv = do_sub_sv(ctx, dest, in1, in2); > } > @@ -2070,8 +2072,7 @@ static DisasJumpType trans_ds(DisasContext *ctx, uint32_t insn, > > /* Install the new nullification. */ > if (cf) { > - TCGv sv; > - TCGV_UNUSED(sv); > + TCGv sv = NULL; > if (cf >> 1 == 6) { > /* ??? The lshift is supposed to contribute to overflow. */ > sv = do_add_sv(ctx, dest, add1, add2); > @@ -2542,7 +2543,7 @@ static DisasJumpType trans_cmpb(DisasContext *ctx, uint32_t insn, > > tcg_gen_sub_tl(dest, in1, in2); > > - TCGV_UNUSED(sv); > + sv = NULL; > if (c == 6) { > sv = do_sub_sv(ctx, dest, in1, in2); > } > @@ -2571,8 +2572,8 @@ static DisasJumpType trans_addb(DisasContext *ctx, uint32_t insn, > } > in2 = load_gpr(ctx, r); > dest = dest_gpr(ctx, r); > - TCGV_UNUSED(sv); > - TCGV_UNUSED(cb_msb); > + sv = NULL; > + cb_msb = NULL; > > switch (c) { > default: > @@ -3732,18 +3733,16 @@ static int hppa_tr_init_disas_context(DisasContextBase *dcbase, > { > DisasContext *ctx = container_of(dcbase, DisasContext, base); > TranslationBlock *tb = ctx->base.tb; > - int i, bound; > + int bound; > > ctx->cs = cs; > ctx->iaoq_f = tb->pc; > ctx->iaoq_b = tb->cs_base; > ctx->iaoq_n = -1; > - TCGV_UNUSED(ctx->iaoq_n_var); > + ctx->iaoq_n_var = NULL; > > ctx->ntemps = 0; > - for (i = 0; i < ARRAY_SIZE(ctx->temps); ++i) { > - TCGV_UNUSED(ctx->temps[i]); > - } > + memset(ctx->temps, 0, sizeof(ctx->temps)); > > bound = -(tb->pc | TARGET_PAGE_MASK) / 4; > return MIN(max_insns, bound); > @@ -3804,7 +3803,7 @@ static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs) > tcg_gen_addi_tl(ctx->iaoq_n_var, cpu_iaoq_b, 4); > } else { > ctx->iaoq_n = ctx->iaoq_b + 4; > - TCGV_UNUSED(ctx->iaoq_n_var); > + ctx->iaoq_n_var = NULL; > } > > if (unlikely(ctx->null_cond.c == TCG_COND_ALWAYS)) { > @@ -3819,7 +3818,7 @@ static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs) > /* Free any temporaries allocated. */ > for (i = 0, n = ctx->ntemps; i < n; ++i) { > tcg_temp_free(ctx->temps[i]); > - TCGV_UNUSED(ctx->temps[i]); > + ctx->temps[i] = NULL; > } > ctx->ntemps = 0; > > diff --git a/target/i386/translate.c b/target/i386/translate.c > index 088a9d9766..8c5f12985a 100644 > --- a/target/i386/translate.c > +++ b/target/i386/translate.c > @@ -689,7 +689,7 @@ static void gen_compute_eflags(DisasContext *s) > return; > } > > - TCGV_UNUSED(zero); > + zero = NULL; > dst = cpu_cc_dst; > src1 = cpu_cc_src; > src2 = cpu_cc_src2; > @@ -2050,9 +2050,8 @@ static AddressParts gen_lea_modrm_0(CPUX86State *env, DisasContext *s, > /* Compute the address, with a minimum number of TCG ops. */ > static TCGv gen_lea_modrm_1(AddressParts a) > { > - TCGv ea; > + TCGv ea = NULL; > > - TCGV_UNUSED(ea); > if (a.index >= 0) { > if (a.scale == 0) { > ea = cpu_regs[a.index]; > @@ -2067,7 +2066,7 @@ static TCGv gen_lea_modrm_1(AddressParts a) > } else if (a.base >= 0) { > ea = cpu_regs[a.base]; > } > - if (TCGV_IS_UNUSED(ea)) { > + if (!ea) { > tcg_gen_movi_tl(cpu_A0, a.disp); > ea = cpu_A0; > } else if (a.disp != 0) { > @@ -3951,7 +3950,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, > gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0); > > /* Re-use the carry-out from a previous round. */ > - TCGV_UNUSED(carry_in); > + carry_in = NULL; > carry_out = (b == 0x1f6 ? cpu_cc_dst : cpu_cc_src2); > switch (s->cc_op) { > case CC_OP_ADCX: > @@ -3979,7 +3978,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, > break; > } > /* If we can't reuse carry-out, get it out of EFLAGS. */ > - if (TCGV_IS_UNUSED(carry_in)) { > + if (!carry_in) { > if (s->cc_op != CC_OP_ADCX && s->cc_op != CC_OP_ADOX) { > gen_compute_eflags(s); > } > @@ -7672,7 +7671,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu) > tcg_gen_mov_tl(a0, cpu_A0); > } else { > gen_op_mov_v_reg(ot, t0, rm); > - TCGV_UNUSED(a0); > + a0 = NULL; > } > gen_op_mov_v_reg(ot, t1, reg); > tcg_gen_andi_tl(cpu_tmp0, t0, 3); > diff --git a/target/m68k/translate.c b/target/m68k/translate.c > index b60909222c..e78c9f208b 100644 > --- a/target/m68k/translate.c > +++ b/target/m68k/translate.c > @@ -3956,8 +3956,8 @@ DISAS_INSN(bfop_reg) > int ofs = extract32(ext, 6, 5); /* big bit-endian */ > TCGv mask, tofs, tlen; > > - TCGV_UNUSED(tofs); > - TCGV_UNUSED(tlen); > + tofs = NULL; > + tlen = NULL; > if ((insn & 0x0f00) == 0x0d00) { /* bfffo */ > tofs = tcg_temp_new(); > tlen = tcg_temp_new(); > @@ -3973,7 +3973,7 @@ DISAS_INSN(bfop_reg) > } > tcg_gen_andi_i32(QREG_CC_N, QREG_CC_N, ~maski); > mask = tcg_const_i32(ror32(maski, ofs)); > - if (!TCGV_IS_UNUSED(tofs)) { > + if (tofs) { > tcg_gen_movi_i32(tofs, ofs); > tcg_gen_movi_i32(tlen, len); > } > @@ -3985,13 +3985,13 @@ DISAS_INSN(bfop_reg) > tcg_gen_andi_i32(tmp, tmp, 31); > mask = tcg_const_i32(0x7fffffffu); > tcg_gen_shr_i32(mask, mask, tmp); > - if (!TCGV_IS_UNUSED(tlen)) { > + if (tlen) { > tcg_gen_addi_i32(tlen, tmp, 1); > } > } else { > /* Immediate width */ > mask = tcg_const_i32(0x7fffffffu >> (len - 1)); > - if (!TCGV_IS_UNUSED(tlen)) { > + if (tlen) { > tcg_gen_movi_i32(tlen, len); > } > } > @@ -4001,7 +4001,7 @@ DISAS_INSN(bfop_reg) > tcg_gen_rotl_i32(QREG_CC_N, src, tmp); > tcg_gen_andc_i32(QREG_CC_N, QREG_CC_N, mask); > tcg_gen_rotr_i32(mask, mask, tmp); > - if (!TCGV_IS_UNUSED(tofs)) { > + if (tofs) { > tcg_gen_mov_i32(tofs, tmp); > } > } else { > @@ -4009,7 +4009,7 @@ DISAS_INSN(bfop_reg) > tcg_gen_rotli_i32(QREG_CC_N, src, ofs); > tcg_gen_andc_i32(QREG_CC_N, QREG_CC_N, mask); > tcg_gen_rotri_i32(mask, mask, ofs); > - if (!TCGV_IS_UNUSED(tofs)) { > + if (tofs) { > tcg_gen_movi_i32(tofs, ofs); > } > } > diff --git a/target/mips/translate.c b/target/mips/translate.c > index b022f840c9..d05ee67e63 100644 > --- a/target/mips/translate.c > +++ b/target/mips/translate.c > @@ -20453,7 +20453,7 @@ void mips_tcg_init(void) > { > int i; > > - TCGV_UNUSED(cpu_gpr[0]); > + cpu_gpr[0] = NULL; > for (i = 1; i < 32; i++) > cpu_gpr[i] = tcg_global_mem_new(cpu_env, > offsetof(CPUMIPSState, active_tc.gpr[i]), > diff --git a/target/nios2/translate.c b/target/nios2/translate.c > index 72329002ac..0afd10f08a 100644 > --- a/target/nios2/translate.c > +++ b/target/nios2/translate.c > @@ -124,7 +124,7 @@ static uint8_t get_opxcode(uint32_t code) > > static TCGv load_zero(DisasContext *dc) > { > - if (TCGV_IS_UNUSED_I32(dc->zero)) { > + if (!dc->zero) { > dc->zero = tcg_const_i32(0); > } > return dc->zero; > @@ -754,12 +754,12 @@ static void handle_instruction(DisasContext *dc, CPUNios2State *env) > goto illegal_op; > } > > - TCGV_UNUSED_I32(dc->zero); > + dc->zero = NULL; > > instr = &i_type_instructions[op]; > instr->handler(dc, code, instr->flags); > > - if (!TCGV_IS_UNUSED_I32(dc->zero)) { > + if (dc->zero) { > tcg_temp_free(dc->zero); > } > > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > index 4075fc8589..0ef21cce33 100644 > --- a/target/ppc/translate.c > +++ b/target/ppc/translate.c > @@ -3495,7 +3495,7 @@ static void gen_bcond(DisasContext *ctx, int type) > else > tcg_gen_mov_tl(target, cpu_lr); > } else { > - TCGV_UNUSED(target); > + target = NULL; > } > if (LK(ctx->opcode)) > gen_setlr(ctx, ctx->nip); > diff --git a/target/s390x/translate.c b/target/s390x/translate.c > index eede2ed157..ac55886792 100644 > --- a/target/s390x/translate.c > +++ b/target/s390x/translate.c > @@ -434,11 +434,9 @@ static void set_cc_static(DisasContext *s) > /* calculates cc into cc_op */ > static void gen_op_calc_cc(DisasContext *s) > { > - TCGv_i32 local_cc_op; > - TCGv_i64 dummy; > + TCGv_i32 local_cc_op = NULL; > + TCGv_i64 dummy = NULL; > > - TCGV_UNUSED_I32(local_cc_op); > - TCGV_UNUSED_I64(dummy); > switch (s->cc_op) { > default: > dummy = tcg_const_i64(0); > @@ -528,10 +526,10 @@ static void gen_op_calc_cc(DisasContext *s) > tcg_abort(); > } > > - if (!TCGV_IS_UNUSED_I32(local_cc_op)) { > + if (local_cc_op) { > tcg_temp_free_i32(local_cc_op); > } > - if (!TCGV_IS_UNUSED_I64(dummy)) { > + if (dummy) { > tcg_temp_free_i64(dummy); > } > > @@ -1189,7 +1187,7 @@ static ExitStatus help_branch(DisasContext *s, DisasCompare *c, > goto egress; > } > } else { > - if (TCGV_IS_UNUSED_I64(cdest)) { > + if (!cdest) { > /* E.g. bcr %r0 -> no branch. */ > ret = NO_EXIT; > goto egress; > @@ -1451,7 +1449,7 @@ static ExitStatus op_ni(DisasContext *s, DisasOps *o) > static ExitStatus op_bas(DisasContext *s, DisasOps *o) > { > tcg_gen_movi_i64(o->out, pc_to_link_info(s, s->next_pc)); > - if (!TCGV_IS_UNUSED_I64(o->in2)) { > + if (o->in2) { > tcg_gen_mov_i64(psw_addr, o->in2); > per_branch(s, false); > return EXIT_PC_UPDATED; > @@ -3031,7 +3029,7 @@ static ExitStatus op_mov2(DisasContext *s, DisasOps *o) > { > o->out = o->in2; > o->g_out = o->g_in2; > - TCGV_UNUSED_I64(o->in2); > + o->in2 = NULL; > o->g_in2 = false; > return NO_EXIT; > } > @@ -3043,7 +3041,7 @@ static ExitStatus op_mov2e(DisasContext *s, DisasOps *o) > > o->out = o->in2; > o->g_out = o->g_in2; > - TCGV_UNUSED_I64(o->in2); > + o->in2 = NULL; > o->g_in2 = false; > > switch (s->tb->flags & FLAG_MASK_ASC) { > @@ -3077,8 +3075,8 @@ static ExitStatus op_movx(DisasContext *s, DisasOps *o) > o->out2 = o->in2; > o->g_out = o->g_in1; > o->g_out2 = o->g_in2; > - TCGV_UNUSED_I64(o->in1); > - TCGV_UNUSED_I64(o->in2); > + o->in1 = NULL; > + o->in2 = NULL; > o->g_in1 = o->g_in2 = false; > return NO_EXIT; > } > @@ -5945,11 +5943,11 @@ static ExitStatus translate_one(CPUS390XState *env, DisasContext *s) > s->insn = insn; > s->fields = &f; > o.g_out = o.g_out2 = o.g_in1 = o.g_in2 = false; > - TCGV_UNUSED_I64(o.out); > - TCGV_UNUSED_I64(o.out2); > - TCGV_UNUSED_I64(o.in1); > - TCGV_UNUSED_I64(o.in2); > - TCGV_UNUSED_I64(o.addr1); > + o.out = NULL; > + o.out2 = NULL; > + o.in1 = NULL; > + o.in2 = NULL; > + o.addr1 = NULL; > > /* Implement the instruction. */ > if (insn->help_in1) { > @@ -5972,19 +5970,19 @@ static ExitStatus translate_one(CPUS390XState *env, DisasContext *s) > } > > /* Free any temporaries created by the helpers. */ > - if (!TCGV_IS_UNUSED_I64(o.out) && !o.g_out) { > + if (o.out && !o.g_out) { > tcg_temp_free_i64(o.out); > } > - if (!TCGV_IS_UNUSED_I64(o.out2) && !o.g_out2) { > + if (o.out2 && !o.g_out2) { > tcg_temp_free_i64(o.out2); > } > - if (!TCGV_IS_UNUSED_I64(o.in1) && !o.g_in1) { > + if (o.in1 && !o.g_in1) { > tcg_temp_free_i64(o.in1); > } > - if (!TCGV_IS_UNUSED_I64(o.in2) && !o.g_in2) { > + if (o.in2 && !o.g_in2) { > tcg_temp_free_i64(o.in2); > } > - if (!TCGV_IS_UNUSED_I64(o.addr1)) { > + if (o.addr1) { > tcg_temp_free_i64(o.addr1); > } > > diff --git a/target/sh4/translate.c b/target/sh4/translate.c > index 703020fe87..48ea0fe7e0 100644 > --- a/target/sh4/translate.c > +++ b/target/sh4/translate.c > @@ -1901,7 +1901,7 @@ static int decode_gusa(DisasContext *ctx, CPUSH4State *env, int *pmax_insns) > op_dst = op_src = op_opc = -1; > mt_dst = -1; > st_src = st_mop = -1; > - TCGV_UNUSED(op_arg); > + op_arg = NULL; > i = 0; > > #define NEXT_INSN \ > diff --git a/target/sparc/translate.c b/target/sparc/translate.c > index 849a02aebd..71e0853e43 100644 > --- a/target/sparc/translate.c > +++ b/target/sparc/translate.c > @@ -5922,7 +5922,7 @@ void sparc_tcg_init(void) > *rtl[i].ptr = tcg_global_mem_new(cpu_env, rtl[i].off, rtl[i].name); > } > > - TCGV_UNUSED(cpu_regs[0]); > + cpu_regs[0] = NULL; > for (i = 1; i < 8; ++i) { > cpu_regs[i] = tcg_global_mem_new(cpu_env, > offsetof(CPUSPARCState, gregs[i]), > diff --git a/target/tilegx/translate.c b/target/tilegx/translate.c > index d55549dabc..d63bf5bba3 100644 > --- a/target/tilegx/translate.c > +++ b/target/tilegx/translate.c > @@ -143,7 +143,7 @@ static bool check_gr(DisasContext *dc, uint8_t reg) > > static TCGv load_zero(DisasContext *dc) > { > - if (TCGV_IS_UNUSED_I64(dc->zero)) { > + if (!dc->zero) { > dc->zero = tcg_const_i64(0); > } > return dc->zero; > @@ -2324,7 +2324,7 @@ static void translate_one_bundle(DisasContext *dc, uint64_t bundle) > for (i = 0; i < ARRAY_SIZE(dc->wb); i++) { > DisasContextTemp *wb = &dc->wb[i]; > wb->reg = TILEGX_R_NOREG; > - TCGV_UNUSED_I64(wb->val); > + wb->val = NULL; > } > dc->num_wb = 0; > > @@ -2384,9 +2384,9 @@ void gen_intermediate_code(CPUState *cs, struct TranslationBlock *tb) > dc->exit_tb = false; > dc->atomic_excp = TILEGX_EXCP_NONE; > dc->jmp.cond = TCG_COND_NEVER; > - TCGV_UNUSED_I64(dc->jmp.dest); > - TCGV_UNUSED_I64(dc->jmp.val1); > - TCGV_UNUSED_I64(dc->zero); > + dc->jmp.dest = NULL; > + dc->jmp.val1 = NULL; > + dc->zero = NULL; > > if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) { > qemu_log_lock(); > diff --git a/target/unicore32/translate.c b/target/unicore32/translate.c > index 384aa86027..5b51f2166d 100644 > --- a/target/unicore32/translate.c > +++ b/target/unicore32/translate.c > @@ -1230,7 +1230,7 @@ static void do_datap(CPUUniCore32State *env, DisasContext *s, uint32_t insn) > if (UCOP_OPCODES != 0x0f && UCOP_OPCODES != 0x0d) { > tmp = load_reg(s, UCOP_REG_N); > } else { > - TCGV_UNUSED(tmp); > + tmp = NULL; > } > > switch (UCOP_OPCODES) { > @@ -1652,7 +1652,7 @@ static void do_ldst_m(CPUUniCore32State *env, DisasContext *s, uint32_t insn) > > /* compute total size */ > loaded_base = 0; > - TCGV_UNUSED(loaded_var); > + loaded_var = NULL; > n = 0; > for (i = 0; i < 6; i++) { > if (UCOP_SET(i)) { > diff --git a/tcg/tcg.c b/tcg/tcg.c > index c22f1c4441..68bcd2267b 100644 > --- a/tcg/tcg.c > +++ b/tcg/tcg.c > @@ -1358,8 +1358,8 @@ void tcg_gen_callN(void *func, TCGTemp *ret, int nargs, TCGTemp **args) > TCGv_i64 retl, reth; > TCGTemp *split_args[MAX_OPC_PARAM]; > > - TCGV_UNUSED_I64(retl); > - TCGV_UNUSED_I64(reth); > + retl = NULL; > + reth = NULL; > if (sizemask != 0) { > for (i = real_args = 0; i < nargs; ++i) { > int is_64bit = sizemask & (1 << (i+1)*2); >
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 3129159907..ca07b32b65 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h @@ -807,8 +807,6 @@ void tcg_gen_lookup_and_goto_ptr(void); #define tcg_global_mem_new tcg_global_mem_new_i32 #define tcg_temp_local_new() tcg_temp_local_new_i32() #define tcg_temp_free tcg_temp_free_i32 -#define TCGV_UNUSED(x) TCGV_UNUSED_I32(x) -#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I32(x) #define tcg_gen_qemu_ld_tl tcg_gen_qemu_ld_i32 #define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i32 #else @@ -817,8 +815,6 @@ void tcg_gen_lookup_and_goto_ptr(void); #define tcg_global_mem_new tcg_global_mem_new_i64 #define tcg_temp_local_new() tcg_temp_local_new_i64() #define tcg_temp_free tcg_temp_free_i64 -#define TCGV_UNUSED(x) TCGV_UNUSED_I64(x) -#define TCGV_IS_UNUSED(x) TCGV_IS_UNUSED_I64(x) #define tcg_gen_qemu_ld_tl tcg_gen_qemu_ld_i64 #define tcg_gen_qemu_st_tl tcg_gen_qemu_st_i64 #endif diff --git a/tcg/tcg.h b/tcg/tcg.h index cb7b329876..c21194c858 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -428,15 +428,6 @@ typedef TCGv_ptr TCGv_env; #error Unhandled TARGET_LONG_BITS value #endif -/* See the comment before tcgv_i32_temp. */ -#define TCGV_UNUSED_I32(x) (x = (TCGv_i32)NULL) -#define TCGV_UNUSED_I64(x) (x = (TCGv_i64)NULL) -#define TCGV_UNUSED_PTR(x) (x = (TCGv_ptr)NULL) - -#define TCGV_IS_UNUSED_I32(x) ((x) == (TCGv_i32)NULL) -#define TCGV_IS_UNUSED_I64(x) ((x) == (TCGv_i64)NULL) -#define TCGV_IS_UNUSED_PTR(x) ((x) == (TCGv_ptr)NULL) - /* call flags */ /* Helper does not read globals (either directly or through an exception). It implies TCG_CALL_NO_WRITE_GLOBALS. */ diff --git a/target/alpha/translate.c b/target/alpha/translate.c index 629f35ec8e..73a1b5e63e 100644 --- a/target/alpha/translate.c +++ b/target/alpha/translate.c @@ -156,7 +156,7 @@ void alpha_translate_init(void) static TCGv load_zero(DisasContext *ctx) { - if (TCGV_IS_UNUSED_I64(ctx->zero)) { + if (!ctx->zero) { ctx->zero = tcg_const_i64(0); } return ctx->zero; @@ -164,7 +164,7 @@ static TCGv load_zero(DisasContext *ctx) static TCGv dest_sink(DisasContext *ctx) { - if (TCGV_IS_UNUSED_I64(ctx->sink)) { + if (!ctx->sink) { ctx->sink = tcg_temp_new(); } return ctx->sink; @@ -172,18 +172,18 @@ static TCGv dest_sink(DisasContext *ctx) static void free_context_temps(DisasContext *ctx) { - if (!TCGV_IS_UNUSED_I64(ctx->sink)) { + if (ctx->sink) { tcg_gen_discard_i64(ctx->sink); tcg_temp_free(ctx->sink); - TCGV_UNUSED_I64(ctx->sink); + ctx->sink = NULL; } - if (!TCGV_IS_UNUSED_I64(ctx->zero)) { + if (ctx->zero) { tcg_temp_free(ctx->zero); - TCGV_UNUSED_I64(ctx->zero); + ctx->zero = NULL; } - if (!TCGV_IS_UNUSED_I64(ctx->lit)) { + if (ctx->lit) { tcg_temp_free(ctx->lit); - TCGV_UNUSED_I64(ctx->lit); + ctx->lit = NULL; } } @@ -2948,9 +2948,9 @@ static int alpha_tr_init_disas_context(DisasContextBase *dcbase, /* Similarly for flush-to-zero. */ ctx->tb_ftz = -1; - TCGV_UNUSED_I64(ctx->zero); - TCGV_UNUSED_I64(ctx->sink); - TCGV_UNUSED_I64(ctx->lit); + ctx->zero = NULL; + ctx->sink = NULL; + ctx->lit = NULL; /* Bound the number of insns to execute to those left on the page. */ if (in_superpage(ctx, ctx->base.pc_first)) { diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 625ef2dfd2..460bab5987 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -405,10 +405,7 @@ static void unallocated_encoding(DisasContext *s) static void init_tmp_a64_array(DisasContext *s) { #ifdef CONFIG_DEBUG_TCG - int i; - for (i = 0; i < ARRAY_SIZE(s->tmp_a64); i++) { - TCGV_UNUSED_I64(s->tmp_a64[i]); - } + memset(s->tmp_a64, 0, sizeof(s->tmp_a64)); #endif s->tmp_a64_count = 0; } @@ -6276,7 +6273,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn) return; } - TCGV_UNUSED_PTR(fpst); + fpst = NULL; break; case 0xc: /* FMAXNMP */ case 0xd: /* FADDP */ @@ -6371,7 +6368,7 @@ static void disas_simd_scalar_pairwise(DisasContext *s, uint32_t insn) tcg_temp_free_i32(tcg_res); } - if (!TCGV_IS_UNUSED_PTR(fpst)) { + if (fpst) { tcg_temp_free_ptr(fpst); } } @@ -6387,7 +6384,7 @@ static void handle_shri_with_rndacc(TCGv_i64 tcg_res, TCGv_i64 tcg_src, bool is_u, int size, int shift) { bool extended_result = false; - bool round = !TCGV_IS_UNUSED_I64(tcg_rnd); + bool round = tcg_rnd != NULL; int ext_lshift = 0; TCGv_i64 tcg_src_hi; @@ -6533,7 +6530,7 @@ static void handle_scalar_simd_shri(DisasContext *s, uint64_t round_const = 1ULL << (shift - 1); tcg_round = tcg_const_i64(round_const); } else { - TCGV_UNUSED_I64(tcg_round); + tcg_round = NULL; } tcg_rn = read_fp_dreg(s, rn); @@ -6649,7 +6646,7 @@ static void handle_vec_simd_sqshrn(DisasContext *s, bool is_scalar, bool is_q, uint64_t round_const = 1ULL << (shift - 1); tcg_round = tcg_const_i64(round_const); } else { - TCGV_UNUSED_I64(tcg_round); + tcg_round = NULL; } for (i = 0; i < elements; i++) { @@ -8239,8 +8236,8 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn) gen_helper_set_rmode(tcg_rmode, tcg_rmode, cpu_env); tcg_fpstatus = get_fpstatus_ptr(); } else { - TCGV_UNUSED_I32(tcg_rmode); - TCGV_UNUSED_PTR(tcg_fpstatus); + tcg_rmode = NULL; + tcg_fpstatus = NULL; } if (size == 3) { @@ -8360,7 +8357,7 @@ static void handle_vec_simd_shri(DisasContext *s, bool is_q, bool is_u, uint64_t round_const = 1ULL << (shift - 1); tcg_round = tcg_const_i64(round_const); } else { - TCGV_UNUSED_I64(tcg_round); + tcg_round = NULL; } for (i = 0; i < elements; i++) { @@ -8502,7 +8499,7 @@ static void handle_vec_simd_shrn(DisasContext *s, bool is_q, uint64_t round_const = 1ULL << (shift - 1); tcg_round = tcg_const_i64(round_const); } else { - TCGV_UNUSED_I64(tcg_round); + tcg_round = NULL; } for (i = 0; i < elements; i++) { @@ -9168,7 +9165,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode, if (opcode >= 0x58) { fpst = get_fpstatus_ptr(); } else { - TCGV_UNUSED_PTR(fpst); + fpst = NULL; } if (!fp_access_check(s)) { @@ -9305,7 +9302,7 @@ static void handle_simd_3same_pair(DisasContext *s, int is_q, int u, int opcode, } } - if (!TCGV_IS_UNUSED_PTR(fpst)) { + if (fpst) { tcg_temp_free_ptr(fpst); } } @@ -10226,13 +10223,13 @@ static void disas_simd_two_reg_misc(DisasContext *s, uint32_t insn) if (need_fpstatus) { tcg_fpstatus = get_fpstatus_ptr(); } else { - TCGV_UNUSED_PTR(tcg_fpstatus); + tcg_fpstatus = NULL; } if (need_rmode) { tcg_rmode = tcg_const_i32(arm_rmode_to_sf(rmode)); gen_helper_set_rmode(tcg_rmode, tcg_rmode, cpu_env); } else { - TCGV_UNUSED_I32(tcg_rmode); + tcg_rmode = NULL; } if (size == 3) { @@ -10593,7 +10590,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn) if (is_fp) { fpst = get_fpstatus_ptr(); } else { - TCGV_UNUSED_PTR(fpst); + fpst = NULL; } if (size == 3) { @@ -10917,7 +10914,7 @@ static void disas_simd_indexed(DisasContext *s, uint32_t insn) } } - if (!TCGV_IS_UNUSED_PTR(fpst)) { + if (fpst) { tcg_temp_free_ptr(fpst); } } diff --git a/target/arm/translate.c b/target/arm/translate.c index e15192d5d6..46c25ae2c1 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -2169,8 +2169,8 @@ static int disas_iwmmxt_insn(DisasContext *s, uint32_t insn) tmp3 = tcg_const_i32((insn & 1) << 5); break; default: - TCGV_UNUSED_I32(tmp2); - TCGV_UNUSED_I32(tmp3); + tmp2 = NULL; + tmp3 = NULL; } gen_helper_iwmmxt_insr(cpu_M0, cpu_M0, tmp, tmp2, tmp3); tcg_temp_free_i32(tmp3); @@ -4939,7 +4939,7 @@ static int disas_neon_ls_insn(DisasContext *s, uint32_t insn) } } else /* size == 0 */ { if (load) { - TCGV_UNUSED_I32(tmp2); + tmp2 = NULL; for (n = 0; n < 4; n++) { tmp = tcg_temp_new_i32(); gen_aa32_ld8u(s, tmp, addr, get_mem_index(s)); @@ -6643,11 +6643,11 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) tmp = neon_load_reg(rn, 1); neon_store_scratch(2, tmp); } - TCGV_UNUSED_I32(tmp3); + tmp3 = NULL; for (pass = 0; pass < 2; pass++) { if (src1_wide) { neon_load_reg64(cpu_V0, rn + pass); - TCGV_UNUSED_I32(tmp); + tmp = NULL; } else { if (pass == 1 && rd == rn) { tmp = neon_load_scratch(2); @@ -6660,7 +6660,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) } if (src2_wide) { neon_load_reg64(cpu_V1, rm + pass); - TCGV_UNUSED_I32(tmp2); + tmp2 = NULL; } else { if (pass == 1 && rd == rm) { tmp2 = neon_load_scratch(2); @@ -7078,7 +7078,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) if (rm & 1) { return 1; } - TCGV_UNUSED_I32(tmp2); + tmp2 = NULL; for (pass = 0; pass < 2; pass++) { neon_load_reg64(cpu_V0, rm + pass); tmp = tcg_temp_new_i32(); @@ -7217,7 +7217,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) if (neon_2rm_is_float_op(op)) { tcg_gen_ld_f32(cpu_F0s, cpu_env, neon_reg_offset(rm, pass)); - TCGV_UNUSED_I32(tmp); + tmp = NULL; } else { tmp = neon_load_reg(rm, pass); } @@ -8666,7 +8666,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) rn = (insn >> 16) & 0xf; tmp = load_reg(s, rn); } else { - TCGV_UNUSED_I32(tmp); + tmp = NULL; } rd = (insn >> 12) & 0xf; switch(op1) { @@ -9505,7 +9505,7 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) /* compute total size */ loaded_base = 0; - TCGV_UNUSED_I32(loaded_var); + loaded_var = NULL; n = 0; for(i=0;i<16;i++) { if (insn & (1 << i)) @@ -10074,7 +10074,7 @@ static int disas_thumb2_insn(DisasContext *s, uint32_t insn) tcg_gen_addi_i32(addr, addr, -offset); } - TCGV_UNUSED_I32(loaded_var); + loaded_var = NULL; for (i = 0; i < 16; i++) { if ((insn & (1 << i)) == 0) continue; @@ -11355,7 +11355,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) } else if (op != 0xf) { /* mvn doesn't read its first operand */ tmp = load_reg(s, rd); } else { - TCGV_UNUSED_I32(tmp); + tmp = NULL; } tmp2 = load_reg(s, rm); @@ -11686,7 +11686,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) tcg_gen_addi_i32(addr, addr, 4); } } - TCGV_UNUSED_I32(tmp); + tmp = NULL; if (insn & (1 << 8)) { if (insn & (1 << 11)) { /* pop pc */ @@ -11831,8 +11831,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn) case 12: { /* load/store multiple */ - TCGv_i32 loaded_var; - TCGV_UNUSED_I32(loaded_var); + TCGv_i32 loaded_var = NULL; rn = (insn >> 8) & 0x7; addr = load_reg(s, rn); for (i = 0; i < 8; i++) { diff --git a/target/cris/translate.c b/target/cris/translate.c index 2831419845..74822ed31f 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -2603,7 +2603,7 @@ static int dec_movem_mr(CPUCRISState *env, DisasContext *dc) tcg_gen_addi_tl(addr, cpu_R[dc->op1], i * 8); gen_load(dc, tmp32, addr, 4, 0); } else { - TCGV_UNUSED(tmp32); + tmp32 = NULL; } tcg_temp_free(addr); diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 53aa1f88c4..31d9a2a31b 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -125,7 +125,7 @@ void hppa_translate_init(void) int i; - TCGV_UNUSED(cpu_gr[0]); + cpu_gr[0] = NULL; for (i = 1; i < 32; i++) { cpu_gr[i] = tcg_global_mem_new(cpu_env, offsetof(CPUHPPAState, gr[i]), @@ -140,28 +140,31 @@ void hppa_translate_init(void) static DisasCond cond_make_f(void) { - DisasCond r = { .c = TCG_COND_NEVER }; - TCGV_UNUSED(r.a0); - TCGV_UNUSED(r.a1); - return r; + return (DisasCond){ + .c = TCG_COND_NEVER, + .a0 = NULL, + .a1 = NULL, + }; } static DisasCond cond_make_n(void) { - DisasCond r = { .c = TCG_COND_NE, .a0_is_n = true, .a1_is_0 = true }; - r.a0 = cpu_psw_n; - TCGV_UNUSED(r.a1); - return r; + return (DisasCond){ + .c = TCG_COND_NE, + .a0 = cpu_psw_n, + .a0_is_n = true, + .a1 = NULL, + .a1_is_0 = true + }; } static DisasCond cond_make_0(TCGCond c, TCGv a0) { - DisasCond r = { .c = c, .a1_is_0 = true }; + DisasCond r = { .c = c, .a1 = NULL, .a1_is_0 = true }; assert (c != TCG_COND_NEVER && c != TCG_COND_ALWAYS); r.a0 = tcg_temp_new(); tcg_gen_mov_tl(r.a0, a0); - TCGV_UNUSED(r.a1); return r; } @@ -199,8 +202,8 @@ static void cond_free(DisasCond *cond) } cond->a0_is_n = false; cond->a1_is_0 = false; - TCGV_UNUSED(cond->a0); - TCGV_UNUSED(cond->a1); + cond->a0 = NULL; + cond->a1 = NULL; /* fallthru */ case TCG_COND_ALWAYS: cond->c = TCG_COND_NEVER; @@ -716,9 +719,8 @@ static DisasCond do_sed_cond(unsigned orig, TCGv res) static DisasCond do_unit_cond(unsigned cf, TCGv res, TCGv in1, TCGv in2) { DisasCond cond; - TCGv tmp, cb; + TCGv tmp, cb = NULL; - TCGV_UNUSED(cb); if (cf & 8) { /* Since we want to test lots of carry-out bits all at once, do not * do our normal thing and compute carry-in of bit B+1 since that @@ -826,8 +828,8 @@ static DisasJumpType do_add(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, DisasCond cond; dest = tcg_temp_new(); - TCGV_UNUSED(cb); - TCGV_UNUSED(cb_msb); + cb = NULL; + cb_msb = NULL; if (shift) { tmp = get_temp(ctx); @@ -856,7 +858,7 @@ static DisasJumpType do_add(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, } /* Compute signed overflow if required. */ - TCGV_UNUSED(sv); + sv = NULL; if (is_tsv || c == 6) { sv = do_add_sv(ctx, dest, in1, in2); if (is_tsv) { @@ -919,7 +921,7 @@ static DisasJumpType do_sub(DisasContext *ctx, unsigned rt, TCGv in1, TCGv in2, tcg_temp_free(zero); /* Compute signed overflow if required. */ - TCGV_UNUSED(sv); + sv = NULL; if (is_tsv || c == 6) { sv = do_sub_sv(ctx, dest, in1, in2); if (is_tsv) { @@ -965,7 +967,7 @@ static DisasJumpType do_cmpclr(DisasContext *ctx, unsigned rt, TCGv in1, tcg_gen_sub_tl(dest, in1, in2); /* Compute signed overflow if required. */ - TCGV_UNUSED(sv); + sv = NULL; if ((cf >> 1) == 6) { sv = do_sub_sv(ctx, dest, in1, in2); } @@ -2070,8 +2072,7 @@ static DisasJumpType trans_ds(DisasContext *ctx, uint32_t insn, /* Install the new nullification. */ if (cf) { - TCGv sv; - TCGV_UNUSED(sv); + TCGv sv = NULL; if (cf >> 1 == 6) { /* ??? The lshift is supposed to contribute to overflow. */ sv = do_add_sv(ctx, dest, add1, add2); @@ -2542,7 +2543,7 @@ static DisasJumpType trans_cmpb(DisasContext *ctx, uint32_t insn, tcg_gen_sub_tl(dest, in1, in2); - TCGV_UNUSED(sv); + sv = NULL; if (c == 6) { sv = do_sub_sv(ctx, dest, in1, in2); } @@ -2571,8 +2572,8 @@ static DisasJumpType trans_addb(DisasContext *ctx, uint32_t insn, } in2 = load_gpr(ctx, r); dest = dest_gpr(ctx, r); - TCGV_UNUSED(sv); - TCGV_UNUSED(cb_msb); + sv = NULL; + cb_msb = NULL; switch (c) { default: @@ -3732,18 +3733,16 @@ static int hppa_tr_init_disas_context(DisasContextBase *dcbase, { DisasContext *ctx = container_of(dcbase, DisasContext, base); TranslationBlock *tb = ctx->base.tb; - int i, bound; + int bound; ctx->cs = cs; ctx->iaoq_f = tb->pc; ctx->iaoq_b = tb->cs_base; ctx->iaoq_n = -1; - TCGV_UNUSED(ctx->iaoq_n_var); + ctx->iaoq_n_var = NULL; ctx->ntemps = 0; - for (i = 0; i < ARRAY_SIZE(ctx->temps); ++i) { - TCGV_UNUSED(ctx->temps[i]); - } + memset(ctx->temps, 0, sizeof(ctx->temps)); bound = -(tb->pc | TARGET_PAGE_MASK) / 4; return MIN(max_insns, bound); @@ -3804,7 +3803,7 @@ static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs) tcg_gen_addi_tl(ctx->iaoq_n_var, cpu_iaoq_b, 4); } else { ctx->iaoq_n = ctx->iaoq_b + 4; - TCGV_UNUSED(ctx->iaoq_n_var); + ctx->iaoq_n_var = NULL; } if (unlikely(ctx->null_cond.c == TCG_COND_ALWAYS)) { @@ -3819,7 +3818,7 @@ static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs) /* Free any temporaries allocated. */ for (i = 0, n = ctx->ntemps; i < n; ++i) { tcg_temp_free(ctx->temps[i]); - TCGV_UNUSED(ctx->temps[i]); + ctx->temps[i] = NULL; } ctx->ntemps = 0; diff --git a/target/i386/translate.c b/target/i386/translate.c index 088a9d9766..8c5f12985a 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -689,7 +689,7 @@ static void gen_compute_eflags(DisasContext *s) return; } - TCGV_UNUSED(zero); + zero = NULL; dst = cpu_cc_dst; src1 = cpu_cc_src; src2 = cpu_cc_src2; @@ -2050,9 +2050,8 @@ static AddressParts gen_lea_modrm_0(CPUX86State *env, DisasContext *s, /* Compute the address, with a minimum number of TCG ops. */ static TCGv gen_lea_modrm_1(AddressParts a) { - TCGv ea; + TCGv ea = NULL; - TCGV_UNUSED(ea); if (a.index >= 0) { if (a.scale == 0) { ea = cpu_regs[a.index]; @@ -2067,7 +2066,7 @@ static TCGv gen_lea_modrm_1(AddressParts a) } else if (a.base >= 0) { ea = cpu_regs[a.base]; } - if (TCGV_IS_UNUSED(ea)) { + if (!ea) { tcg_gen_movi_tl(cpu_A0, a.disp); ea = cpu_A0; } else if (a.disp != 0) { @@ -3951,7 +3950,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0); /* Re-use the carry-out from a previous round. */ - TCGV_UNUSED(carry_in); + carry_in = NULL; carry_out = (b == 0x1f6 ? cpu_cc_dst : cpu_cc_src2); switch (s->cc_op) { case CC_OP_ADCX: @@ -3979,7 +3978,7 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, break; } /* If we can't reuse carry-out, get it out of EFLAGS. */ - if (TCGV_IS_UNUSED(carry_in)) { + if (!carry_in) { if (s->cc_op != CC_OP_ADCX && s->cc_op != CC_OP_ADOX) { gen_compute_eflags(s); } @@ -7672,7 +7671,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu) tcg_gen_mov_tl(a0, cpu_A0); } else { gen_op_mov_v_reg(ot, t0, rm); - TCGV_UNUSED(a0); + a0 = NULL; } gen_op_mov_v_reg(ot, t1, reg); tcg_gen_andi_tl(cpu_tmp0, t0, 3); diff --git a/target/m68k/translate.c b/target/m68k/translate.c index b60909222c..e78c9f208b 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -3956,8 +3956,8 @@ DISAS_INSN(bfop_reg) int ofs = extract32(ext, 6, 5); /* big bit-endian */ TCGv mask, tofs, tlen; - TCGV_UNUSED(tofs); - TCGV_UNUSED(tlen); + tofs = NULL; + tlen = NULL; if ((insn & 0x0f00) == 0x0d00) { /* bfffo */ tofs = tcg_temp_new(); tlen = tcg_temp_new(); @@ -3973,7 +3973,7 @@ DISAS_INSN(bfop_reg) } tcg_gen_andi_i32(QREG_CC_N, QREG_CC_N, ~maski); mask = tcg_const_i32(ror32(maski, ofs)); - if (!TCGV_IS_UNUSED(tofs)) { + if (tofs) { tcg_gen_movi_i32(tofs, ofs); tcg_gen_movi_i32(tlen, len); } @@ -3985,13 +3985,13 @@ DISAS_INSN(bfop_reg) tcg_gen_andi_i32(tmp, tmp, 31); mask = tcg_const_i32(0x7fffffffu); tcg_gen_shr_i32(mask, mask, tmp); - if (!TCGV_IS_UNUSED(tlen)) { + if (tlen) { tcg_gen_addi_i32(tlen, tmp, 1); } } else { /* Immediate width */ mask = tcg_const_i32(0x7fffffffu >> (len - 1)); - if (!TCGV_IS_UNUSED(tlen)) { + if (tlen) { tcg_gen_movi_i32(tlen, len); } } @@ -4001,7 +4001,7 @@ DISAS_INSN(bfop_reg) tcg_gen_rotl_i32(QREG_CC_N, src, tmp); tcg_gen_andc_i32(QREG_CC_N, QREG_CC_N, mask); tcg_gen_rotr_i32(mask, mask, tmp); - if (!TCGV_IS_UNUSED(tofs)) { + if (tofs) { tcg_gen_mov_i32(tofs, tmp); } } else { @@ -4009,7 +4009,7 @@ DISAS_INSN(bfop_reg) tcg_gen_rotli_i32(QREG_CC_N, src, ofs); tcg_gen_andc_i32(QREG_CC_N, QREG_CC_N, mask); tcg_gen_rotri_i32(mask, mask, ofs); - if (!TCGV_IS_UNUSED(tofs)) { + if (tofs) { tcg_gen_movi_i32(tofs, ofs); } } diff --git a/target/mips/translate.c b/target/mips/translate.c index b022f840c9..d05ee67e63 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -20453,7 +20453,7 @@ void mips_tcg_init(void) { int i; - TCGV_UNUSED(cpu_gpr[0]); + cpu_gpr[0] = NULL; for (i = 1; i < 32; i++) cpu_gpr[i] = tcg_global_mem_new(cpu_env, offsetof(CPUMIPSState, active_tc.gpr[i]), diff --git a/target/nios2/translate.c b/target/nios2/translate.c index 72329002ac..0afd10f08a 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -124,7 +124,7 @@ static uint8_t get_opxcode(uint32_t code) static TCGv load_zero(DisasContext *dc) { - if (TCGV_IS_UNUSED_I32(dc->zero)) { + if (!dc->zero) { dc->zero = tcg_const_i32(0); } return dc->zero; @@ -754,12 +754,12 @@ static void handle_instruction(DisasContext *dc, CPUNios2State *env) goto illegal_op; } - TCGV_UNUSED_I32(dc->zero); + dc->zero = NULL; instr = &i_type_instructions[op]; instr->handler(dc, code, instr->flags); - if (!TCGV_IS_UNUSED_I32(dc->zero)) { + if (dc->zero) { tcg_temp_free(dc->zero); } diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 4075fc8589..0ef21cce33 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -3495,7 +3495,7 @@ static void gen_bcond(DisasContext *ctx, int type) else tcg_gen_mov_tl(target, cpu_lr); } else { - TCGV_UNUSED(target); + target = NULL; } if (LK(ctx->opcode)) gen_setlr(ctx, ctx->nip); diff --git a/target/s390x/translate.c b/target/s390x/translate.c index eede2ed157..ac55886792 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -434,11 +434,9 @@ static void set_cc_static(DisasContext *s) /* calculates cc into cc_op */ static void gen_op_calc_cc(DisasContext *s) { - TCGv_i32 local_cc_op; - TCGv_i64 dummy; + TCGv_i32 local_cc_op = NULL; + TCGv_i64 dummy = NULL; - TCGV_UNUSED_I32(local_cc_op); - TCGV_UNUSED_I64(dummy); switch (s->cc_op) { default: dummy = tcg_const_i64(0); @@ -528,10 +526,10 @@ static void gen_op_calc_cc(DisasContext *s) tcg_abort(); } - if (!TCGV_IS_UNUSED_I32(local_cc_op)) { + if (local_cc_op) { tcg_temp_free_i32(local_cc_op); } - if (!TCGV_IS_UNUSED_I64(dummy)) { + if (dummy) { tcg_temp_free_i64(dummy); } @@ -1189,7 +1187,7 @@ static ExitStatus help_branch(DisasContext *s, DisasCompare *c, goto egress; } } else { - if (TCGV_IS_UNUSED_I64(cdest)) { + if (!cdest) { /* E.g. bcr %r0 -> no branch. */ ret = NO_EXIT; goto egress; @@ -1451,7 +1449,7 @@ static ExitStatus op_ni(DisasContext *s, DisasOps *o) static ExitStatus op_bas(DisasContext *s, DisasOps *o) { tcg_gen_movi_i64(o->out, pc_to_link_info(s, s->next_pc)); - if (!TCGV_IS_UNUSED_I64(o->in2)) { + if (o->in2) { tcg_gen_mov_i64(psw_addr, o->in2); per_branch(s, false); return EXIT_PC_UPDATED; @@ -3031,7 +3029,7 @@ static ExitStatus op_mov2(DisasContext *s, DisasOps *o) { o->out = o->in2; o->g_out = o->g_in2; - TCGV_UNUSED_I64(o->in2); + o->in2 = NULL; o->g_in2 = false; return NO_EXIT; } @@ -3043,7 +3041,7 @@ static ExitStatus op_mov2e(DisasContext *s, DisasOps *o) o->out = o->in2; o->g_out = o->g_in2; - TCGV_UNUSED_I64(o->in2); + o->in2 = NULL; o->g_in2 = false; switch (s->tb->flags & FLAG_MASK_ASC) { @@ -3077,8 +3075,8 @@ static ExitStatus op_movx(DisasContext *s, DisasOps *o) o->out2 = o->in2; o->g_out = o->g_in1; o->g_out2 = o->g_in2; - TCGV_UNUSED_I64(o->in1); - TCGV_UNUSED_I64(o->in2); + o->in1 = NULL; + o->in2 = NULL; o->g_in1 = o->g_in2 = false; return NO_EXIT; } @@ -5945,11 +5943,11 @@ static ExitStatus translate_one(CPUS390XState *env, DisasContext *s) s->insn = insn; s->fields = &f; o.g_out = o.g_out2 = o.g_in1 = o.g_in2 = false; - TCGV_UNUSED_I64(o.out); - TCGV_UNUSED_I64(o.out2); - TCGV_UNUSED_I64(o.in1); - TCGV_UNUSED_I64(o.in2); - TCGV_UNUSED_I64(o.addr1); + o.out = NULL; + o.out2 = NULL; + o.in1 = NULL; + o.in2 = NULL; + o.addr1 = NULL; /* Implement the instruction. */ if (insn->help_in1) { @@ -5972,19 +5970,19 @@ static ExitStatus translate_one(CPUS390XState *env, DisasContext *s) } /* Free any temporaries created by the helpers. */ - if (!TCGV_IS_UNUSED_I64(o.out) && !o.g_out) { + if (o.out && !o.g_out) { tcg_temp_free_i64(o.out); } - if (!TCGV_IS_UNUSED_I64(o.out2) && !o.g_out2) { + if (o.out2 && !o.g_out2) { tcg_temp_free_i64(o.out2); } - if (!TCGV_IS_UNUSED_I64(o.in1) && !o.g_in1) { + if (o.in1 && !o.g_in1) { tcg_temp_free_i64(o.in1); } - if (!TCGV_IS_UNUSED_I64(o.in2) && !o.g_in2) { + if (o.in2 && !o.g_in2) { tcg_temp_free_i64(o.in2); } - if (!TCGV_IS_UNUSED_I64(o.addr1)) { + if (o.addr1) { tcg_temp_free_i64(o.addr1); } diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 703020fe87..48ea0fe7e0 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -1901,7 +1901,7 @@ static int decode_gusa(DisasContext *ctx, CPUSH4State *env, int *pmax_insns) op_dst = op_src = op_opc = -1; mt_dst = -1; st_src = st_mop = -1; - TCGV_UNUSED(op_arg); + op_arg = NULL; i = 0; #define NEXT_INSN \ diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 849a02aebd..71e0853e43 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -5922,7 +5922,7 @@ void sparc_tcg_init(void) *rtl[i].ptr = tcg_global_mem_new(cpu_env, rtl[i].off, rtl[i].name); } - TCGV_UNUSED(cpu_regs[0]); + cpu_regs[0] = NULL; for (i = 1; i < 8; ++i) { cpu_regs[i] = tcg_global_mem_new(cpu_env, offsetof(CPUSPARCState, gregs[i]), diff --git a/target/tilegx/translate.c b/target/tilegx/translate.c index d55549dabc..d63bf5bba3 100644 --- a/target/tilegx/translate.c +++ b/target/tilegx/translate.c @@ -143,7 +143,7 @@ static bool check_gr(DisasContext *dc, uint8_t reg) static TCGv load_zero(DisasContext *dc) { - if (TCGV_IS_UNUSED_I64(dc->zero)) { + if (!dc->zero) { dc->zero = tcg_const_i64(0); } return dc->zero; @@ -2324,7 +2324,7 @@ static void translate_one_bundle(DisasContext *dc, uint64_t bundle) for (i = 0; i < ARRAY_SIZE(dc->wb); i++) { DisasContextTemp *wb = &dc->wb[i]; wb->reg = TILEGX_R_NOREG; - TCGV_UNUSED_I64(wb->val); + wb->val = NULL; } dc->num_wb = 0; @@ -2384,9 +2384,9 @@ void gen_intermediate_code(CPUState *cs, struct TranslationBlock *tb) dc->exit_tb = false; dc->atomic_excp = TILEGX_EXCP_NONE; dc->jmp.cond = TCG_COND_NEVER; - TCGV_UNUSED_I64(dc->jmp.dest); - TCGV_UNUSED_I64(dc->jmp.val1); - TCGV_UNUSED_I64(dc->zero); + dc->jmp.dest = NULL; + dc->jmp.val1 = NULL; + dc->zero = NULL; if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) { qemu_log_lock(); diff --git a/target/unicore32/translate.c b/target/unicore32/translate.c index 384aa86027..5b51f2166d 100644 --- a/target/unicore32/translate.c +++ b/target/unicore32/translate.c @@ -1230,7 +1230,7 @@ static void do_datap(CPUUniCore32State *env, DisasContext *s, uint32_t insn) if (UCOP_OPCODES != 0x0f && UCOP_OPCODES != 0x0d) { tmp = load_reg(s, UCOP_REG_N); } else { - TCGV_UNUSED(tmp); + tmp = NULL; } switch (UCOP_OPCODES) { @@ -1652,7 +1652,7 @@ static void do_ldst_m(CPUUniCore32State *env, DisasContext *s, uint32_t insn) /* compute total size */ loaded_base = 0; - TCGV_UNUSED(loaded_var); + loaded_var = NULL; n = 0; for (i = 0; i < 6; i++) { if (UCOP_SET(i)) { diff --git a/tcg/tcg.c b/tcg/tcg.c index c22f1c4441..68bcd2267b 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1358,8 +1358,8 @@ void tcg_gen_callN(void *func, TCGTemp *ret, int nargs, TCGTemp **args) TCGv_i64 retl, reth; TCGTemp *split_args[MAX_OPC_PARAM]; - TCGV_UNUSED_I64(retl); - TCGV_UNUSED_I64(reth); + retl = NULL; + reth = NULL; if (sizemask != 0) { for (i = real_args = 0; i < nargs; ++i) { int is_64bit = sizemask & (1 << (i+1)*2);
These are now trivial sets and tests against NULL. Unwrap. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- tcg/tcg-op.h | 4 --- tcg/tcg.h | 9 ------- target/alpha/translate.c | 22 ++++++++-------- target/arm/translate-a64.c | 35 +++++++++++------------- target/arm/translate.c | 29 ++++++++++---------- target/cris/translate.c | 2 +- target/hppa/translate.c | 63 ++++++++++++++++++++++---------------------- target/i386/translate.c | 13 +++++---- target/m68k/translate.c | 14 +++++----- target/mips/translate.c | 2 +- target/nios2/translate.c | 6 ++--- target/ppc/translate.c | 2 +- target/s390x/translate.c | 42 ++++++++++++++--------------- target/sh4/translate.c | 2 +- target/sparc/translate.c | 2 +- target/tilegx/translate.c | 10 +++---- target/unicore32/translate.c | 4 +-- tcg/tcg.c | 4 +-- 18 files changed, 122 insertions(+), 143 deletions(-) -- 2.14.3