public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* patch to fix PR57468
@ 2013-06-06 21:19 Vladimir Makarov
  0 siblings, 0 replies; 3+ messages in thread
From: Vladimir Makarov @ 2013-06-06 21:19 UTC (permalink / raw)
  To: gcc-patches

The following patch fixes

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57468

The patch actually restore the LRA behaviour for x86/x86-64 before rev. 
199298.  The revision was added for PPC SDmode value correct 
generation.  So it is really needed for PPC64 and badly hurts x86/x86-64 
performance (by doing secondary memory reloads when one pseudo is spilled).

The patch was successfully bootstrapped and tested on x86/x86-64 (with 
patch for pr57459).

   Although the change in i386.c, it only concerns to LRA.  So I've 
decided to commit it without x86/x86-64 maintainer approval.  May be I 
am wrong in this situation.  If somebody objects I am ready to revert 
the patch and wait for an approval.

Committed as rev. 199764.

2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>

         PR rtl-optimization/57468
         * config/i386/i386.c (inline_secondary_memory_needed): Ignore
         spilled pseudos.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: patch to fix PR57468
  2013-06-07  1:23 David Edelsohn
@ 2013-06-07 14:29 ` Vladimir Makarov
  0 siblings, 0 replies; 3+ messages in thread
From: Vladimir Makarov @ 2013-06-07 14:29 UTC (permalink / raw)
  To: David Edelsohn; +Cc: GCC Patches

On 13-06-06 9:22 PM, David Edelsohn wrote:
>> The patch actually restore the LRA behaviour for x86/x86-64 before rev. 199298. The revision was added for PPC SDmode value correct generation. So it is really needed for PPC64 and badly hurts x86/x86-64 performance (by doing secondary memory reloads when one pseudo is spilled).
>          Should the solution for PPC64 be further limited, even on
> PPC64? Is this going to hurt more normal spilling code on PPC64 that
> does not have the strange restrictions of SDmode?
>
>
   No, it does not hurt ppc performance.  In ppc case, it works the same 
way as reload does (and only for SDmode values).  I also found LRA 
generates a better code for SDmode than reload.  I did not figure out 
why reload pass uses secondary memory when one pseudo is spilled for ppc 
and does not use this for x86/x86-64 although both targets report 
necessity of secondary memory in case when one pseudo is spilled.  It 
requires a lot of time but I should probably still do this.

   I hope that Mike checks performance of LRA as I have no hardware to 
do this.  If he finds any performance degradation, I look at it.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: patch to fix PR57468
@ 2013-06-07  1:23 David Edelsohn
  2013-06-07 14:29 ` Vladimir Makarov
  0 siblings, 1 reply; 3+ messages in thread
From: David Edelsohn @ 2013-06-07  1:23 UTC (permalink / raw)
  To: Vladimir Makarov; +Cc: GCC Patches

> The patch actually restore the LRA behaviour for x86/x86-64 before rev. 199298. The revision was added for PPC SDmode value correct generation. So it is really needed for PPC64 and badly hurts x86/x86-64 performance (by doing secondary memory reloads when one pseudo is spilled).

        Should the solution for PPC64 be further limited, even on
PPC64? Is this going to hurt more normal spilling code on PPC64 that
does not have the strange restrictions of SDmode?

Thanks, David

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-06-07 14:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-06 21:19 patch to fix PR57468 Vladimir Makarov
2013-06-07  1:23 David Edelsohn
2013-06-07 14:29 ` Vladimir Makarov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).