Statistics
| Branch: | Revision:

root / tcg @ 834574ea

Name Size
  arm
  hppa
  i386
  ia64
  mips
  ppc
  ppc64
  s390
  sparc
  tci
LICENSE 146 Bytes
README 15.6 kB
TODO 394 Bytes
optimize.c 33.1 kB
tcg-op.h 86.1 kB
tcg-opc.h 9.3 kB
tcg-runtime.h 706 Bytes
tcg.c 82 kB
tcg.h 21 kB

Latest revisions

# Date Author Comment
be96bd3f 02/17/2013 04:27 pm Andreas Färber

tcg/ppc: Fix build of tcg_qemu_tb_exec()

Commit 0b0d3320db74cde233ee7855ad32a9c121d20eb4 (TCG: Final globals
clean-up) moved code_gen_prologue but forgot to update ppc code.
This broke the build on 32-bit ppc. ppc64 is unaffected.

Cc: Evgeny Voevodin <>...

24537a01 02/16/2013 12:44 pm Peter Maydell

qemu-log: Rename the public-facing cpu_set_log function to qemu_set_log

Rename the public-facing function cpu_set_log to qemu_set_log. This
requires us to rename the internal-only qemu_set_log() to
do_qemu_set_log().

Signed-off-by: Peter Maydell <>...

5e5f07e0 02/16/2013 12:41 pm Evgeny Voevodin

TCG: Move translation block variables to new context inside tcg_ctx: tb_ctx

It's worth to clean-up translation blocks variables and move them
into one context as was suggested by Swirl.
Also if we use this context directly inside tcg_ctx, then it
speeds up code generation a bit....

0b0d3320 02/16/2013 12:40 pm Evgeny Voevodin

TCG: Final globals clean-up

Signed-off-by: Evgeny Voevodin <>
Signed-off-by: Blue Swirl <>

5256a720 01/19/2013 12:27 pm Peter Maydell

tcg/target-arm: Add missing parens to assertions

Silence a (legitimate) complaint about missing parentheses:

tcg/arm/tcg-target.c: In function ‘tcg_out_qemu_ld’:
tcg/arm/tcg-target.c:1148:5: error: suggest parentheses around
comparison in operand of ‘&’ [-Werror=parentheses]...

633f6502 01/19/2013 12:13 pm Paolo Bonzini

optimize: optimize using nonzero bits

This adds two optimizations using the non-zero bit mask. In some cases
involving shifts or ANDs the value can become zero, and can thus be
optimized to a move of zero. Second, useless zero-extension or an
AND with constant can be detected that would only zero bits that are...

3a9d8b17 01/19/2013 12:13 pm Paolo Bonzini

optimize: track nonzero bits of registers

Add a "mask" field to the tcg_temp_info struct. A bit that is zero
in "mask" will always be zero in the corresponding temporary.
Zero bits in the mask can be produced from moves of immediates,
zero-extensions, ANDs with constants, shifts; they can then be...

d193a14a 01/19/2013 12:13 pm Paolo Bonzini

optimize: only write to state when clearing optimizer data

The next patch will add to the TCG optimizer a field that should be
non-zero in the default case. Thus, replace the memset of the
temps array with a loop. Only the state field has to be up-to-date,...

163fa4b0 01/12/2013 02:45 pm Paolo Bonzini

tcg-i386: use LEA for 3-operand 64-bit addition

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Richard Henderson <>
Signed-off-by: Blue Swirl <>

9a8a5ae6 01/02/2013 07:23 pm Stefan Weil

tcg: Remove unneeded assertion

Commit 7f6f0ae5b95adfa76e10eabe2c34424a955fd10c added two assertions.

One of these assertions is not needed:
The pointer ts is never NULL because it is initialized with the
address of an array element.

Reviewed-by: Richard Henderson <>...

View revisions

Also available in: Atom