- 21 8月, 2011 1 次提交
-
-
由 Anthony Liguori 提交于
qemu_malloc/qemu_free no longer exist after this commit. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 07 8月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
Copy propagation introduced in 22613af4 considered only global registers. However, register temps and stack allocated locals must be handled differently because register temps don't survive across brcond. Fix by propagating only within same class of temps. Tested-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 31 7月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
Fix incorrect logic and typos in previous commit 1bfd07bd. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 30 7月, 2011 7 次提交
-
-
由 Blue Swirl 提交于
Fix breakage by a640f031 and 55c0975c. Some TCG targets don't implement all TCG ops, so make optimizing those conditional. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Perform constant folding for NOT and EXT{8,16,32}{S,U} operations. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Perform constant forlding for SHR, SHL, SAR, ROTR, ROTL operations. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Perform constant folding for AND, OR, XOR operations. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Perform actual constant folding for ADD, SUB and MUL operations. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Make tcg_constant_folding do copy and constant propagation. It is a preparational work before actual constant folding. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Kirill Batuzov 提交于
Added file tcg/optimize.c to hold TCG optimizations. Function tcg_optimize is called from tcg_gen_code_common. It calls other functions performing specific optimizations. Stub for constant folding was added. Signed-off-by: NKirill Batuzov <batuzovk@ispras.ru> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 21 7月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
cppcheck reports an error: qemu/tcg/mips/tcg-target.c:1487: error: Invalid number of character (() The unpatched code won't compile on mips hosts starting with commit cea5f9a2. Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 16 7月, 2011 1 次提交
-
-
由 Peter Maydell 提交于
Expand the note on the number of TCG ops generated per target insn, to be clearer about the range of applicability of the 20 op rule of thumb. Also add a note about the hard MAX_OP_PER_INSTR limit. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 03 7月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 02 7月, 2011 3 次提交
-
-
由 Richard Henderson 提交于
Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Use TCG_REG_CALL_STACK instead of TCG_REG_SP for consistency. Acked-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 28 6月, 2011 3 次提交
-
-
由 Blue Swirl 提交于
Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com> Signed-off-by: Nmalc <av1474@comtv.ru>
-
由 malc 提交于
The only user (within tcg.c) was removed Signed-off-by: Nmalc <av1474@comtv.ru>
-
由 malc 提交于
The only user (within tcg.c) was removed Signed-off-by: Nmalc <av1474@comtv.ru>
-
- 27 6月, 2011 8 次提交
-
-
由 Blue Swirl 提交于
Use stack instead of temp_buf array in CPUState for TCG temps. On Sparc64, stack pointer is not aligned but there is a fixed bias of 2047, so don't try to enforce alignment. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Except for specific cases where the use of %esp changes the encoding of the instruction, it's cleaner to use TCG_REG_CALL_STACK instead of TCG_REG_ESP. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
The code for stack allocation for call arguments is way too simplistic to actually work on targets with non-trivial stack allocation policies, e.g. ppc64. We've also already allocated TCG_STATIC_CALL_ARGS_SIZE worth of stack for calls which should be well more than any helper needs. Remove broken dynamic stack allocation code and replace it with an assert. Should dynamic stack allocation ever be needed again, target specific functions should be added. Thanks to Richard Henderson for the analysis. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
size_t is unsigned, so the frame offset calculations can be incorrect for negative offsets. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Delegate TCG temp_buf setup to targets, so that they can use a stack frame later instead. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Make functions take a parameter for CPUState instead of relying on global env. Pass CPUState pointer to TCG prologue, which moves it to AREG0. Thanks to Peter Maydell and Laurent Desnogues for the ARM prologue change. Revert the hacks to avoid AREG0 use on Sparc hosts. Move cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h. Compile the file without HELPER_CFLAGS. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
由 Blue Swirl 提交于
Most exec-all.h include directives are now useless, remove them. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 04 6月, 2011 4 次提交
-
-
由 Christophe Fergeau 提交于
Based on a patch from Hans de Goede <hdegoede@redhat.com> This warning is new in gcc 4.6. Acked-by: NAmit Shah <amit.shah@redhat.com> Signed-off-by: NChristophe Fergeau <cfergeau@redhat.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Peter Maydell 提交于
When compiling with DEBUG_TCGV enabled, make the TCGv_ptr type distinct from TCGv_i32/TCGv_i64. This means that using an i32 or i64 TCG op to manipulate a TCGv_ptr will always be detected at compile time, rather than only if compiling on a host system with the other word size. NB: the tcg_add_ptr and tcg_sub_ptr macros have been removed as they were not used anywhere. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Peter Maydell 提交于
The prototypes for the ld/st functions on a 64 bit host declared the address parameter as a TCGv_i64 rather than a TCGv_ptr. This worked OK (since the two are aliases), but needs to be fixed to allow extension of TCG type debugging to i64/i32/ptr mismatches. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Brad 提交于
Use the correct header in the TCG MIPS code to find cacheflush() on OpenBSD to fix compilation of the MIPS host support for OpenBSD/mips64 based architecures. Signed-off-by: NBrad Smith <brad@comstyle.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 29 5月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
-
- 24 5月, 2011 3 次提交
-
-
由 Aurelien Jarno 提交于
If an op with dead outputs is not removed, because it has side effects or has multiple output and only one dead, mark the registers as dead instead of saving them. This avoid a few register spills on TCG targets with low register count, especially with div2 and mul2 ops, or when a qemu_ld* result is not used (prefetch emulation for example). Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Aurelien Jarno 提交于
If an op is not removed and has dead output arguments, mark it in op_dead_args similarly to what is done for input arguments. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Aurelien Jarno 提交于
Allow all args to be dead by replacing the input specific op_dead_iargs variable by op_dead_args. Note this is a purely mechanical change. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 08 5月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
-
- 24 3月, 2011 1 次提交
-
-
由 Peter Maydell 提交于
Although the TCG generated code is always in ARM mode, it is possible that the host code was compiled by gcc in Thumb mode (this is often the default for Linux distributions targeting ARM v7 only). Handle this by using BLX imm when doing a call from ARM into Thumb mode. Since BLX imm is not a conditionalisable instruction, we make tcg_out_call() no longer take a condition code; we were only ever using it with COND_AL anyway. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NAndrzej Zaborowski <andrew.zaborowski@intel.com>
-
- 07 3月, 2011 1 次提交
-
-
由 Peter Maydell 提交于
Add support (if CONFIG_DEBUG_TCG is defined) for debugging leakage of temporary variables. Generally any temporaries created by a target while it is translating an instruction should be freed by the end of that instruction; otherwise carefully crafted guest code could cause TCG to run out of temporaries and assert. By calling tcg_check_temp_count() after each instruction we can check that we are not leaking temporaries in this way. Signed-off-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 20 1月, 2011 2 次提交
-
-
由 Edgar E. Iglesias 提交于
Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-
由 Richard Henderson 提交于
Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-