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: RFA: autoincrement patches for gcc 4 - updated patch


Richard Henderson wrote:
On Tue, May 17, 2005 at 12:29:04PM +0200, Bernd Schmidt wrote:

Ugh. I worked on this code back when I was at Red Hat, and as far as I recall it never worked correctly in any of its incarnations. Also, the cost estimates are pretty sh specific.


Do you have specific concerns?

First off, I can no longer reproduce the failures I saw a while ago with an earlier version of this patch, so it seems to have improved somewhat. I still have a few concerns though.


The way it re-uses existing pseudo reg numbers has proven to be extremely brittle; it's very easy to get confused about the lifetimes. I'd prefer an approach that just allocates new pseudos - we seem to have the ability now to turn off no_new_pseudos temporarily, and we might as well use it.
As far as sh-specific assumptions go, it assumes that adds are 2-address insns, and it does not take into account machines with more addressing modes - it doesn't try to generate or modify offsetted addresses as far as I can see or remember. Neither does it try to use post-modify for machines that have it.


The way I see it, Joern is pretty much the only person willing to care
about auto-increment optimization, since it touches so few of our targets.

I need something quite similar to this pass for the Blackfin, but as it stands it doesn't have much of an effect since the Blackfin has different needs than the sh.
A few weeks ago I've started working on a reimplementation of something like this. Admittedly it's mostly vapourware right now and shouldn't hold up this patch if it is technically sound - I just don't believe that it is.



Bernd



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