qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH 2/3] target-sparc: Free instruction temporar


From: Richard Henderson
Subject: Re: [Qemu-devel] Re: [PATCH 2/3] target-sparc: Free instruction temporaries.
Date: Sat, 17 Apr 2010 13:00:41 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4

On 04/17/2010 12:49 PM, Richard Henderson wrote:
> On 04/17/2010 11:41 AM, Blue Swirl wrote:
>> About this patch: it's good that we now free the constants, but
>> constant handling is still not optimal and I think this series
>> actually may add extra 'movi' ops in the worst case. It would be nice
>> if we detected if constants are in play and call immediate versions
>> (addi, subi etc) automatically. This may need bigger refactoring,
>> though.
> 
> No, that won't help, since the first thing that addi, subi, etc
> do is to load the constant into a temporary.
> 
> What would *really* help though, is something along the lines of
> Aurelien's constant propagation patch, followed by some mechanism
> to refactor constants in the backend.

... Actually, I forgot to mention that the biggest thing that would
help the Sparc target would be to eliminate the explicit loads/stores
of the windowed reigsters, such that the generic TCG propagation and
dead code elimination passes can do their job properly.

I've been meaning to try changing the windowing code on the sparc to
memcpy the registers into and out of fixed slots in the CPUState and
see what kind of effect that has on overall performance.  I have a 
feeling that it will be an improvement, since it should avoid some
of the myriad of redundant loads and stores in the generated code.


r~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]