From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55023) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZIqF-0001j9-4o for qemu-devel@nongnu.org; Sat, 10 Dec 2011 04:03:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RZIqE-0005pu-0h for qemu-devel@nongnu.org; Sat, 10 Dec 2011 04:03:35 -0500 Received: from mout.web.de ([212.227.15.4]:52131) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZIqD-0005oU-Bo for qemu-devel@nongnu.org; Sat, 10 Dec 2011 04:03:33 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sat, 10 Dec 2011 10:02:23 +0100 Message-Id: <1323507747-16261-1-git-send-email-andreas.faerber@web.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH 0/4] tcg: Add debug facilities for TCGv List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , =?UTF-8?q?Andreas=20F=C3=A4rber?= Hello, Working on 16- and 20-bit targets using TARGET_LONG_BITS == 32, I found it too easy to accidentally use, e.g., tcg_temp_free() in place of tcg_temp_free_i32(). In case of 78k0/rl78 it may not practically matter yet, but it complicates going from a 32-bit target to 64 bits, as in the case of arm. This series refactors TCG code to allow using a dedicated struct for TCGv, to make variable type mismatches show up as compilation errors. This series only adds the infrastructure but does not enable it by default. A series adapting target-i386 will be posted independently as an RFC. Regards, Andreas Cc: Peter Maydell Andreas Färber (4): tcg: Introduce {MAKE,GET}_TCGV_TL macros tcg: Convert *_tl*() macros to inline functions tcg: Update TCGV_{UNUSED,EQUAL}() macros tcg: Allow to detect TCGv misuses def-helper.h | 13 +- tcg/tcg-op.h | 1046 +++++++++++++++++++++++++++++++++++++++++++++++++--------- tcg/tcg.h | 1 + 3 files changed, 896 insertions(+), 164 deletions(-) -- 1.7.7