From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39909) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bsAXE-0000QN-0b for qemu-devel@nongnu.org; Thu, 06 Oct 2016 11:24:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bsAX8-0003ra-U5 for qemu-devel@nongnu.org; Thu, 06 Oct 2016 11:24:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49954) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bsAX8-0003rR-NG for qemu-devel@nongnu.org; Thu, 06 Oct 2016 11:24:30 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 445F8AA46F for ; Thu, 6 Oct 2016 15:24:30 +0000 (UTC) Received: from donizetti.redhat.com (ovpn-112-35.ams2.redhat.com [10.36.112.35]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u96FOOsj031069 for ; Thu, 6 Oct 2016 11:24:29 -0400 From: Paolo Bonzini Date: Thu, 6 Oct 2016 17:24:17 +0200 Message-Id: <1475767463-12045-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1475767463-12045-1-git-send-email-pbonzini@redhat.com> References: <1475767463-12045-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 04/10] qemu-tech: move text from qemu-tech to tcg/README List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Paolo Bonzini --- qemu-tech.texi | 12 ++---------- tcg/README | 5 +++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/qemu-tech.texi b/qemu-tech.texi index 2ab7cd4..082b62c 100644 --- a/qemu-tech.texi +++ b/qemu-tech.texi @@ -287,16 +287,8 @@ are very complicated and highly CPU dependent. QEMU uses some tricks which make it relatively easily portable and simple while achieving good performances. -After the release of version 0.9.1, QEMU switched to a new method of -generating code, Tiny Code Generator or TCG. TCG relaxes the -dependency on the exact version of the compiler used. The basic idea -is to split every target instruction into a couple of RISC-like TCG -ops (see @code{target-i386/translate.c}). Some optimizations can be -performed at this stage, including liveness analysis and trivial -constant expression evaluation. TCG ops are then implemented in the -host CPU back end, also known as TCG target (see -@code{tcg/i386/tcg-target.inc.c}). For more information, please take a -look at @code{tcg/README}. +QEMU's dynamic translation backend is called TCG, for "Tiny Code +Generator". For more information, please take a look at @code{tcg/README}. @node Condition code optimisations @section Condition code optimisations diff --git a/tcg/README b/tcg/README index 1d48aa9..ae31388 100644 --- a/tcg/README +++ b/tcg/README @@ -8,6 +8,11 @@ in the QOP code generator written by Paul Brook. 2) Definitions +TCG receives RISC-like "TCG ops" and performs some optimizations on them, +including liveness analysis and trivial constant expression +evaluation. TCG ops are then implemented in the host CPU back end, +also known as the TCG "target". + The TCG "target" is the architecture for which we generate the code. It is of course not the same as the "target" of QEMU which is the emulated architecture. As TCG started as a generic C backend used -- 2.7.4