[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 05/13] tcg: rework liveness analysis
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 05/13] tcg: rework liveness analysis |
Date: |
Thu, 27 Sep 2012 11:54:05 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 |
On 09/27/2012 10:15 AM, Aurelien Jarno wrote:
> Rework the liveness analysis by tracking temps that need to go back to
> memory in addition to dead temps tracking. This allows to mark output
> arguments as "need sync", and to synchronize them back to memory as soon
> as they are not written anymore. This way even arguments mapping to
> globals can be marked as "dead", avoiding moves to a new register when
> input and outputs are aliased.
>
> In addition it means that registers are freed as soon as temps are not
> used anymore, instead of waiting for a basic block end or an op with side
> effects. This reduces register spilling especially on CPUs with few
> registers, and spread the mov over all the TB, increasing the
> performances on in-order CPUs.
>
> Signed-off-by: Aurelien Jarno <address@hidden>
> ---
> tcg/tcg.c | 64
> +++++++++++++++++++++++++++++++++++--------------------------
> 1 file changed, 37 insertions(+), 27 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
r~
- Re: [Qemu-devel] [PATCH 11/13] tcg: sync globals for pure helpers instead of saving them, (continued)
- [Qemu-devel] [PATCH 09/13] tcg: start with local temps in TEMP_VAL_MEM state, Aurelien Jarno, 2012/09/27
- [Qemu-devel] [PATCH 10/13] tcg: don't explicitely save globals and temps, Aurelien Jarno, 2012/09/27
- [Qemu-devel] [PATCH 07/13] tcg: rewrite tcg_reg_alloc_mov(), Aurelien Jarno, 2012/09/27
- [Qemu-devel] [PATCH 05/13] tcg: rework liveness analysis, Aurelien Jarno, 2012/09/27
- Re: [Qemu-devel] [PATCH 05/13] tcg: rework liveness analysis,
Richard Henderson <=
- [Qemu-devel] [PATCH 04/13] tcg: sync output arguments on liveness request, Aurelien Jarno, 2012/09/27
[Qemu-devel] [PATCH 06/13] tcg: improve tcg_reg_alloc_movi(), Aurelien Jarno, 2012/09/27
[Qemu-devel] [PATCH 02/13] tcg: add tcg_reg_sync(), Aurelien Jarno, 2012/09/27