From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49922) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TIl2d-0004dS-Dc for qemu-devel@nongnu.org; Mon, 01 Oct 2012 14:48:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TIl2c-0005EF-Aq for qemu-devel@nongnu.org; Mon, 01 Oct 2012 14:48:31 -0400 Received: from hall.aurel32.net ([88.191.126.93]:60187) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TIl2c-0005E5-5A for qemu-devel@nongnu.org; Mon, 01 Oct 2012 14:48:30 -0400 Date: Mon, 1 Oct 2012 20:48:27 +0200 From: Aurelien Jarno Message-ID: <20121001184827.GD4623@ohm.aurel32.net> References: <1348766397-20731-1-git-send-email-rth@twiddle.net> <1348766397-20731-7-git-send-email-rth@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <1348766397-20731-7-git-send-email-rth@twiddle.net> Subject: Re: [Qemu-devel] [PATCH 6/7] tcg: Tidy brcond optimization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org 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 > --- > 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 Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net