[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 04/13] tcg: sync output arguments on liveness re
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 04/13] tcg: sync output arguments on liveness request |
Date: |
Thu, 27 Sep 2012 11:39:06 -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:
> Synchronize an output argument when requested by the liveness analysis.
> This is needed so that the temp can be declared dead later.
>
> For that, add a new op_sync_args table in which each bit tells if the
> corresponding output argument needs to be synchronized with the memory.
> Pass it to the tcg_reg_alloc_* functions, and honor this bit. We need to
> synchronize the argument before marking it as dead, and we have to make
> sure all the infos about the temp are correctly filled.
>
> At the same time change some types from unsigned int to uint16_t when
> passing op_dead_args.
>
> Signed-off-by: Aurelien Jarno <address@hidden>
If I understand the patch correctly, this patch alone is no change,
since no sync_args bits are ever set.
Which means that
> + if (NEED_SYNC_ARG(i)) {
> + tcg_reg_sync(s, reg);
> + }
> + if (IS_DEAD_ARG(i)) {
> + temp_dead(s, args[i]);
> + }
Might ought to be better written as
if (IS_DEAD_ARG(i)) {
...
} else if (NEED_SYNC_ARG(i)) {
...
}
as temp_dead implies sync from patches 2 and 3. This pattern is also
replicated 3-4 times. Subroutine?
r~
- Re: [Qemu-devel] [PATCH 09/13] tcg: start with local temps in TEMP_VAL_MEM state, (continued)
- [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
- [Qemu-devel] [PATCH 04/13] tcg: sync output arguments on liveness request, Aurelien Jarno, 2012/09/27
- Re: [Qemu-devel] [PATCH 04/13] tcg: sync output arguments on liveness request,
Richard Henderson <=
- [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
- [Qemu-devel] [PATCH 03/13] tcg: add temp_sync(), Aurelien Jarno, 2012/09/27