Commit c24135ffcc46ef1e02c69667f0b4156ebf7b86dd

Authored by aurel32
1 parent 1f961124

target-mips: fix temporary variable freeing in op_ldst_##insn()

Move tcg_temp_free() out of the conditional part to make sure
the TCG temporary variable is freed in all cases.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Acked-by: Thiemo Seufer <ths@networkno.de>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5673 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 1 deletions
target-mips/translate.c
... ... @@ -1045,13 +1045,13 @@ static inline void op_ldst_##insn(TCGv t0, TCGv t1, DisasContext *ctx) \
1045 1045 gen_set_label(l1); \
1046 1046 tcg_gen_ld_tl(r_tmp, cpu_env, offsetof(CPUState, CP0_LLAddr)); \
1047 1047 tcg_gen_brcond_tl(TCG_COND_NE, t0, r_tmp, l2); \
1048   - tcg_temp_free(r_tmp); \
1049 1048 tcg_gen_qemu_##fname(t1, t0, ctx->mem_idx); \
1050 1049 tcg_gen_movi_tl(t0, 1); \
1051 1050 tcg_gen_br(l3); \
1052 1051 gen_set_label(l2); \
1053 1052 tcg_gen_movi_tl(t0, 0); \
1054 1053 gen_set_label(l3); \
  1054 + tcg_temp_free(r_tmp); \
1055 1055 }
1056 1056 OP_ST_ATOMIC(sc,st32,0x3);
1057 1057 #if defined(TARGET_MIPS64)
... ...