[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
OT: TCG SSA, speed, misc (was Re: [Qemu-devel] Re: [PATCH 08/11] QMP: P
From: |
Filip Navara |
Subject: |
OT: TCG SSA, speed, misc (was Re: [Qemu-devel] Re: [PATCH 08/11] QMP: Port balloon command) |
Date: |
Sun, 28 Jun 2009 20:19:54 +0200 |
On Sun, Jun 28, 2009 at 7:51 PM, Blue Swirl<address@hidden> wrote:
> On 6/28/09, Filip Navara <address@hidden> wrote:
>> On Sun, Jun 28, 2009 at 5:52 PM, Avi Kivity<address@hidden> wrote:
>> > It really isn't very complicated, and
>> > the thread only got so long because the topic is relatively simple. Post
>> an
>> > RFC and a mile-long patchset about changing TCG to SSA form, and see how
>> you
>> > get no replies.
>>
>>
>> I wouldn't even dare to push the SSA patch... Mile-long doesn't
>> describe it precisely enough. Imagine it was applied to all the
>> targets.
Just to be perfectly clear, this was meant as a joke. I don't have any
working SSA patch and neither am I working on one right now, but I am
interested in the topic. Main reason for my interest is this:
http://www.info.uni-karlsruhe.de/lehre/2006SS/uebau2/folien/08-RA_v1_4.pdf
http://www.info.uni-karlsruhe.de/~hack/ra_ssa.pdf
I'd like to know if the register allocation can be improved. I don't
believe SSA would help much in anything else since the input code to
translators was already compiled with optimizing compiler and so most
of the SSA-based optimizations would be redundant.
Doing a profiling run on several ARM demo programs showed that most of
the generated code was doing load/store operations to the machine
registers (in CPU_env). Sample run of FreeRTOS looked like this (OP
counts):
movi_i32 1603
ld_i32 1305
st_i32 1174
add_i32 530
...
If there could be done something that would allow the guest registers
to be stored in host registers, even if for a temporary amount of time
it would certainly help the guests that I'm dealing with.
Best regards,
Filip Navara
- OT: TCG SSA, speed, misc (was Re: [Qemu-devel] Re: [PATCH 08/11] QMP: Port balloon command),
Filip Navara <=