This patch series is still RFC. Updated versions of x86_64 and i386 seems to work, Sparc64 is not changed since previous version.
I've added code for other targets too, but those parts are not even compile tested, so review is necessary. It would be possible to commit just the working patches, maybe also TCG_REG_CALL_STACK renames (which could be combined). Opinions here also welcome. Blue Swirl (18): Delegate setup of TCG temporaries to targets TCG: fix negative frame offset calculations TCG: remove broken stack allocation for call arguments TCG/x86: use TCG_REG_CALL_STACK instead of TCG_REG_ESP TCG/x86: use stack for TCG temps TCG/Sparc64: use stack for TCG temps TCG/ARM: use stack for TCG temps TCG/HPPA: use TCG_REG_CALL_STACK instead of TCG_REG_SP TCG/HPPA: use stack for TCG temps TCG/IA64: use TCG_REG_CALL_STACK instead of TCG_REG_R12 TCG/IA64: use stack for TCG temps TCG/MIPS: use TCG_REG_CALL_STACK instead of TCG_REG_SP TCG/MIPS: use stack for TCG temps TCG/PPC: use TCG_REG_CALL_STACK instead of TCG_REG_R1 TCG/PPC: use stack for TCG temps TCG/s390: use TCG_REG_CALL_STACK instead of TCG_REG_R15 TCG/s390: use stack for TCG temps Remove temp_buf, rename CPU_TEMP_BUF_NLONGS cpu-defs.h | 3 --- tcg/arm/tcg-target.c | 9 +++++++++ tcg/hppa/tcg-target.c | 35 +++++++++++++++++++++-------------- tcg/i386/tcg-target.c | 24 ++++++++++++++---------- tcg/ia64/tcg-target.c | 16 ++++++++++++---- tcg/mips/tcg-target.c | 18 +++++++++++------- tcg/ppc/tcg-target.c | 22 +++++++++++++++------- tcg/ppc64/tcg-target.c | 21 ++++++++++++++------- tcg/s390/tcg-target.c | 11 ++++++++--- tcg/sparc/tcg-target.c | 5 ++++- tcg/tcg.c | 21 ++++++++++++--------- tcg/tcg.h | 3 +++ translate-all.c | 2 -- 13 files changed, 123 insertions(+), 67 deletions(-)