Message ID | 1348766397-20731-7-git-send-email-rth@twiddle.net |
---|---|
State | New |
Headers | show |
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 <rth@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 <aurelien@aurel32.net>
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):
Do the memset once. Don't reset_temp before doing so. Signed-off-by: Richard Henderson <rth@twiddle.net> --- tcg/optimize.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)