unicorn/qemu/include/qemu
Richard Henderson ede1cae3dc
tcg: Lower indirect registers in a separate pass
Rather than rely on recursion during the middle of register allocation,
lower indirect registers to loads and stores off the indirect base into
plain temps.

For an x86_64 host, with sufficient registers, this results in identical
code, modulo the actual register assignments.

For an i686 host, with insufficient registers, this means that temps can
be (temporarily) spilled to the stack in order to satisfy an allocation.
This as opposed to the possibility of not being able to spill, to allocate
a register for the indirect base, in order to perform a spill.

Backports commit 5a18407f55ade924aa6397c9a043a9ffd59645fe from qemu
2018-02-25 22:32:28 -05:00
..
atomic.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
bitmap.h memory: RCU ram_list.dirty_memory[] for safe RAM hotplug 2018-02-22 15:38:03 -05:00
bitops.h bitops: Add MAKE_64BIT_MASK macro 2018-02-25 00:30:39 -05:00
bswap.h bswap.h: Document cpu_to_* and *_to_cpu conversion functions 2018-02-25 04:06:28 -05:00
compiler.h compiler: never omit assertions if using a static analysis tool 2018-02-25 19:19:28 -05:00
crc32c.h import 2015-08-21 15:04:50 +08:00
cutils.h Clean up decorations and whitespace around header guards 2018-02-25 04:26:02 -05:00
fprintf-fn.h Clean up decorations and whitespace around header guards 2018-02-25 04:26:02 -05:00
host-utils.h Clean up decorations and whitespace around header guards 2018-02-25 04:26:02 -05:00
int128.h Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
log.h tcg: Lower indirect registers in a separate pass 2018-02-25 22:32:28 -05:00
mmap-alloc.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
module.h cleanup qemu/include/qemu/module.h 2017-01-25 00:20:08 +08:00
osdep.h osdep: Document differences in rounding macros 2018-02-25 21:05:21 -05:00
queue.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
range.h range: Replace internal representation of Range 2018-02-25 00:44:36 -05:00
thread-posix.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
thread-win32.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
thread.h Clean up ill-advised or unusual header guards 2018-02-25 04:22:46 -05:00
timer.h include: move CPU-related definitions out of qemu-common.h 2018-02-24 00:33:49 -05:00
typedefs.h include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00