On Thu, Sep 27, 2012 at 10:19:56AM -0700, Richard Henderson wrote: > Do the memset once. Don't reset_temp before doing so. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > tcg/optimize.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tcg/optimize.c b/tcg/optimize.c > index c1881fa..dfac877 100644 > --- a/tcg/optimize.c > +++ b/tcg/optimize.c > @@ -771,22 +771,22 @@ static TCGArg *tcg_constant_folding(TCGContext *s, > uint16_t *tcg_opc_ptr, > tmp = do_constant_folding_cond(op, args[0], args[1], args[2]); > if (tmp != 2) { > if (tmp) { > - memset(temps, 0, nb_temps * sizeof(struct > tcg_temp_info)); > gen_opc_buf[op_index] = INDEX_op_br; > gen_args[0] = args[3]; > gen_args += 1; > } else { > gen_opc_buf[op_index] = INDEX_op_nop; > + args += 4; > + break; > } > } else { > - memset(temps, 0, nb_temps * sizeof(struct tcg_temp_info)); > - reset_temp(args[0]); > gen_args[0] = args[0]; > gen_args[1] = args[1]; > gen_args[2] = args[2]; > gen_args[3] = args[3]; > gen_args += 4; > } > + memset(temps, 0, nb_temps * sizeof(struct tcg_temp_info)); > args += 4; > break; > CASE_OP_32_64(movcond): > -- > 1.7.11.4 >
Removing the useless reset_temp() is indeed something to do. I am not so sure that factorizing the memset() and putting a break in the nop case is easier to read. Nevertheless: Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net