aboutsummaryrefslogtreecommitdiff
path: root/qemu-coroutine-lock.c
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2012-10-09 21:53:07 +0200
committerAurelien Jarno <aurelien@aurel32.net>2012-10-28 14:54:22 +0100
commitc29c1d7edfc57fc4ab15e30b3cea990a5685dd7a (patch)
treea229a0c4d3eb4dd386346b550f02aace9d4f3d40 /qemu-coroutine-lock.c
parent4c4e1ab26bfc9b3f9b3097ecd0643bc20d0e2f0d (diff)
tcg: rewrite tcg_reg_alloc_mov()
Now that the liveness analysis provides more information, rewrite tcg_reg_alloc_mov(). This changes the behaviour about propagating constants and memory accesses. We now take the assumption that once a value is loaded into a register (from memory or from a constant), it's better to keep it there than to reload it later. This assumption is now always almost correct given that we are now sure the corresponding temp is going to be used later (otherwise it would have been synchronized and marked as dead already). The assumption is wrong if one of the op after clobbers some registers including the one of the holding the temp (this can be avoided by allocating clobbered registers last, which is what most TCG target do), or in case of lack of available register. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'qemu-coroutine-lock.c')
0 files changed, 0 insertions, 0 deletions