This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ira] rewriting save/restore palcement optimization


On Fri, May 30, 2008 at 2:40 AM, Jeff Law <law@redhat.com> wrote:
> Vladimir Makarov wrote:
>>
>>  The following patch contains mostly rewritting optimization of
>> placement of saves/restores around calls.  The goal of this
>> optimization is to remove redundant saves/restores, move them away as
>> far as possible to less frequently executed points to free hard
>> registers for the reload registers.  As I wrote the previous version
>> was supposed to be a temporary solution.  This version permits to move
>> saves too (the previous version moved only restores).  It also permits
>> to move saves/restores through loops and permits to use saved hard
>> registers for the reload registers (the previous version did not
>> permitted to do it).
>>
>> The patch was tested and bootstrapped on x86/x86_64, ppc64, an
>> itanium.  I see a bit better results (in performance and code size)
>> with the patch for SPEC2000 on x86.
>
> FWIW, sparc floating point code was always the canonical way to performance
> test caller-save as its ABI had all FP registers as call clobbered.  If
> you've still got access to a semi-modern sparc box it would probably be an
> insightful test.

The same is true on x86_64 where all SSE registers are call-clobbered.

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]