From: Aurelien Jarno Date: Tue, 9 Oct 2012 19:53:07 +0000 (+0200) Subject: tcg: always mark dead input arguments as dead X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a52ad07e7cde61c799ca3351ccd58c04d6f7474f;p=qemu.git tcg: always mark dead input arguments as dead Always mark dead input arguments as dead, even if the op is at the basic block end. This will allow to check that all temps are correctly saved. Reviewed-by: Richard Henderson Signed-off-by: Aurelien Jarno --- diff --git a/tcg/tcg.c b/tcg/tcg.c index b219a6d227..d81b62883a 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1874,16 +1874,16 @@ static void tcg_reg_alloc_op(TCGContext *s, iarg_end: ; } + /* mark dead temporaries and free the associated registers */ + for (i = nb_oargs; i < nb_oargs + nb_iargs; i++) { + if (IS_DEAD_ARG(i)) { + temp_dead(s, args[i]); + } + } + if (def->flags & TCG_OPF_BB_END) { tcg_reg_alloc_bb_end(s, allocated_regs); } else { - /* mark dead temporaries and free the associated registers */ - for(i = nb_oargs; i < nb_oargs + nb_iargs; i++) { - if (IS_DEAD_ARG(i)) { - temp_dead(s, args[i]); - } - } - if (def->flags & TCG_OPF_CALL_CLOBBER) { /* XXX: permit generic clobber register list ? */ for(reg = 0; reg < TCG_TARGET_NB_REGS; reg++) {