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