From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59682) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGI6e-0007Z8-U5 for qemu-devel@nongnu.org; Thu, 23 Jun 2016 23:48:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bGI6Z-0001nB-16 for qemu-devel@nongnu.org; Thu, 23 Jun 2016 23:48:35 -0400 Received: from mail-pa0-x230.google.com ([2607:f8b0:400e:c03::230]:33163) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGI6Y-0001mJ-Q7 for qemu-devel@nongnu.org; Thu, 23 Jun 2016 23:48:30 -0400 Received: by mail-pa0-x230.google.com with SMTP id b13so33404919pat.0 for ; Thu, 23 Jun 2016 20:48:30 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Thu, 23 Jun 2016 20:48:18 -0700 Message-Id: <1466740107-15042-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH v3 0/9] Third try at fixing sparc register allocation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mark.cave-ayland@ilande.co.uk, aurelien@aurel32.net, atar4qemu@gmail.com I was unhappy about the complexity of the second try. Better to convert to normal temps, allowing in rare occasions, spilling the "globals" to the stack in order to satisfy register allocation. I can no longer provoke an allocation failure on i686. Hopefully this fixes the OpenBSD case that Mark mentioned re the second attempt. r~ Richard Henderson (9): tcg: Fix name for high-half register tcg: Optimize spills of constants tcg: Require liveness analysis tcg: Compress liveness data to 16 bits tcg: Reorg TCGOp chaining tcg: Fold life data into TCGOp tcg: Compress dead_temps and mem_temps into a single array tcg: Include liveness info in the dumps tcg: Lower indirect registers in a separate pass include/exec/gen-icount.h | 2 +- include/qemu/log.h | 1 + tcg/aarch64/tcg-target.inc.c | 10 + tcg/arm/tcg-target.inc.c | 6 + tcg/i386/tcg-target.inc.c | 21 +- tcg/ia64/tcg-target.inc.c | 10 + tcg/mips/tcg-target.inc.c | 10 + tcg/optimize.c | 37 +-- tcg/ppc/tcg-target.inc.c | 6 + tcg/s390/tcg-target.inc.c | 6 + tcg/sparc/tcg-target.inc.c | 10 + tcg/tcg-op.c | 2 +- tcg/tcg.c | 690 ++++++++++++++++++++++++++++--------------- tcg/tcg.h | 50 ++-- tcg/tci/tcg-target.inc.c | 6 + util/log.c | 5 +- 16 files changed, 563 insertions(+), 309 deletions(-) -- 2.5.5