From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEQRo-0003kF-UV for qemu-devel@nongnu.org; Wed, 19 Sep 2012 16:00:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TEQRg-0002CO-Uc for qemu-devel@nongnu.org; Wed, 19 Sep 2012 16:00:36 -0400 Received: from hall.aurel32.net ([88.191.126.93]:52043) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEQRg-00029P-MF for qemu-devel@nongnu.org; Wed, 19 Sep 2012 16:00:28 -0400 From: Aurelien Jarno Date: Wed, 19 Sep 2012 22:00:14 +0200 Message-Id: <1348084823-18277-1-git-send-email-aurelien@aurel32.net> Subject: [Qemu-devel] [PATCH 0/9] tcg/optimize: rework copy propagation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Aurelien Jarno This patch series rework the copy propagation in order to generate better code. The first two patches are cleanup and bug fixes, the third patch is the heart of the series, and the remaining ones are small optimizations using the new copy propagation. I have measured a decrease of the generated code size of about 4%, with a gain in speed between 0 and 2% depending on the workload. For better benefits in ARM emulation, it should be used with the setcond patches series I have sent a few days ago. Aurelien Jarno (9): tcg/optimizer: remove TCG_TEMP_ANY tcg/optimizer: check types in copy propagation tcg/optimizer: rework copy progagation tcg/optimize: do copy propagation for all operations tcg/optimize: optimize "op r, a, a => mov r, a" tcg/optimize: optimize "op r, a, a => movi r, 0" tcg/optimize: further optimize brcond/setcond tcg/optimize: prefer the "op a, a, b" form for commutative ops tcg: remove #ifdef #endif around TCGOpcode tests tcg/optimize.c | 326 ++++++++++++++++++++++++++++++++++---------------------- tcg/tcg.c | 16 +-- 2 files changed, 200 insertions(+), 142 deletions(-) -- 1.7.10.4