From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50813) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THJDx-0006CD-Vx for qemu-devel@nongnu.org; Thu, 27 Sep 2012 14:54:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1THJDt-0001ps-Cg for qemu-devel@nongnu.org; Thu, 27 Sep 2012 14:54:13 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:46343) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1THJDt-0001ph-6I for qemu-devel@nongnu.org; Thu, 27 Sep 2012 14:54:09 -0400 Received: by pbbrp2 with SMTP id rp2so4015985pbb.4 for ; Thu, 27 Sep 2012 11:54:08 -0700 (PDT) Sender: Richard Henderson Message-ID: <5064A0CD.1070701@twiddle.net> Date: Thu, 27 Sep 2012 11:54:05 -0700 From: Richard Henderson MIME-Version: 1.0 References: <1348766113-18373-1-git-send-email-aurelien@aurel32.net> <1348766113-18373-6-git-send-email-aurelien@aurel32.net> In-Reply-To: <1348766113-18373-6-git-send-email-aurelien@aurel32.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 05/13] tcg: rework liveness analysis List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-devel@nongnu.org On 09/27/2012 10:15 AM, Aurelien Jarno wrote: > Rework the liveness analysis by tracking temps that need to go back to > memory in addition to dead temps tracking. This allows to mark output > arguments as "need sync", and to synchronize them back to memory as soon > as they are not written anymore. This way even arguments mapping to > globals can be marked as "dead", avoiding moves to a new register when > input and outputs are aliased. > > In addition it means that registers are freed as soon as temps are not > used anymore, instead of waiting for a basic block end or an op with side > effects. This reduces register spilling especially on CPUs with few > registers, and spread the mov over all the TB, increasing the > performances on in-order CPUs. > > Signed-off-by: Aurelien Jarno > --- > tcg/tcg.c | 64 +++++++++++++++++++++++++++++++++++-------------------------- > 1 file changed, 37 insertions(+), 27 deletions(-) Reviewed-by: Richard Henderson r~