tcg: Rename tcg-target.c to tcg-target.inc.c
Rename the per-architecture tcg-target.c files to tcg-target.inc.c. This makes it clearer that they are not intended to be standalone C files, but are instead #included into another source file. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <1456238983-10160-2-git-send-email-peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
d2dc4069e0
commit
ce15110981
@ -385,7 +385,7 @@ ops (see @code{target-i386/translate.c}). Some optimizations can be
|
|||||||
performed at this stage, including liveness analysis and trivial
|
performed at this stage, including liveness analysis and trivial
|
||||||
constant expression evaluation. TCG ops are then implemented in the
|
constant expression evaluation. TCG ops are then implemented in the
|
||||||
host CPU back end, also known as TCG target (see
|
host CPU back end, also known as TCG target (see
|
||||||
@code{tcg/i386/tcg-target.c}). For more information, please take a
|
@code{tcg/i386/tcg-target.inc.c}). For more information, please take a
|
||||||
look at @code{tcg/README}.
|
look at @code{tcg/README}.
|
||||||
|
|
||||||
@node Condition code optimisations
|
@node Condition code optimisations
|
||||||
|
@ -460,8 +460,9 @@ function tcg_gen_xxx(args).
|
|||||||
|
|
||||||
4) Backend
|
4) Backend
|
||||||
|
|
||||||
tcg-target.h contains the target specific definitions. tcg-target.c
|
tcg-target.h contains the target specific definitions. tcg-target.inc.c
|
||||||
contains the target specific code.
|
contains the target specific code; it is #included by tcg/tcg.c, rather
|
||||||
|
than being a standalone C file.
|
||||||
|
|
||||||
4.1) Assumptions
|
4.1) Assumptions
|
||||||
|
|
||||||
|
@ -62,7 +62,8 @@
|
|||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
#include "exec/log.h"
|
#include "exec/log.h"
|
||||||
|
|
||||||
/* Forward declarations for functions declared in tcg-target.c and used here. */
|
/* Forward declarations for functions declared in tcg-target.inc.c and
|
||||||
|
used here. */
|
||||||
static void tcg_target_init(TCGContext *s);
|
static void tcg_target_init(TCGContext *s);
|
||||||
static void tcg_target_qemu_prologue(TCGContext *s);
|
static void tcg_target_qemu_prologue(TCGContext *s);
|
||||||
static void patch_reloc(tcg_insn_unit *code_ptr, int type,
|
static void patch_reloc(tcg_insn_unit *code_ptr, int type,
|
||||||
@ -96,7 +97,7 @@ static void tcg_register_jit_int(void *buf, size_t size,
|
|||||||
size_t debug_frame_size)
|
size_t debug_frame_size)
|
||||||
__attribute__((unused));
|
__attribute__((unused));
|
||||||
|
|
||||||
/* Forward declarations for functions declared and used in tcg-target.c. */
|
/* Forward declarations for functions declared and used in tcg-target.inc.c. */
|
||||||
static int target_parse_constraint(TCGArgConstraint *ct, const char **pct_str);
|
static int target_parse_constraint(TCGArgConstraint *ct, const char **pct_str);
|
||||||
static void tcg_out_ld(TCGContext *s, TCGType type, TCGReg ret, TCGReg arg1,
|
static void tcg_out_ld(TCGContext *s, TCGType type, TCGReg ret, TCGReg arg1,
|
||||||
intptr_t arg2);
|
intptr_t arg2);
|
||||||
@ -250,7 +251,7 @@ TCGLabel *gen_new_label(void)
|
|||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "tcg-target.c"
|
#include "tcg-target.inc.c"
|
||||||
|
|
||||||
/* pool based memory allocation */
|
/* pool based memory allocation */
|
||||||
void *tcg_malloc_internal(TCGContext *s, int size)
|
void *tcg_malloc_internal(TCGContext *s, int size)
|
||||||
|
@ -568,7 +568,7 @@ struct TCGContext {
|
|||||||
|
|
||||||
TBContext tb_ctx;
|
TBContext tb_ctx;
|
||||||
|
|
||||||
/* The TCGBackendData structure is private to tcg-target.c. */
|
/* The TCGBackendData structure is private to tcg-target.inc.c. */
|
||||||
struct TCGBackendData *be;
|
struct TCGBackendData *be;
|
||||||
|
|
||||||
TCGTempSet free_temps[TCG_TYPE_COUNT * 2];
|
TCGTempSet free_temps[TCG_TYPE_COUNT * 2];
|
||||||
|
@ -21,7 +21,7 @@ This is what TCI (Tiny Code Interpreter) does.
|
|||||||
2) Implementation
|
2) Implementation
|
||||||
|
|
||||||
Like each TCG host frontend, TCI implements the code generator in
|
Like each TCG host frontend, TCI implements the code generator in
|
||||||
tcg-target.c, tcg-target.h. Both files are in directory tcg/tci.
|
tcg-target.inc.c, tcg-target.h. Both files are in directory tcg/tci.
|
||||||
|
|
||||||
The additional file tcg/tci.c adds the interpreter.
|
The additional file tcg/tci.c adds the interpreter.
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ u1 = linux-user-test works
|
|||||||
would also improve speed for hosts which support byte alignment).
|
would also improve speed for hosts which support byte alignment).
|
||||||
|
|
||||||
* A better disassembler for the pseudo code would be nice (a very primitive
|
* A better disassembler for the pseudo code would be nice (a very primitive
|
||||||
disassembler is included in tcg-target.c).
|
disassembler is included in tcg-target.inc.c).
|
||||||
|
|
||||||
* It might be useful to have a runtime option which selects the native TCG
|
* It might be useful to have a runtime option which selects the native TCG
|
||||||
or TCI, so QEMU would have to include two TCGs. Today, selecting TCI
|
or TCI, so QEMU would have to include two TCGs. Today, selecting TCI
|
||||||
|
Loading…
Reference in New Issue
Block a user