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: patch to improve register preferencing in IRA and to *remove regmove* pass


On 10/29/13 10:46, Vladimir Makarov wrote:
On 10/29/2013 12:26 PM, Jeff Law wrote:
On 10/29/13 09:12, Vladimir Makarov wrote:
    I've found only one useful transformations in regmove pass:

        dst = src                                    dst = src (src dies)
        ...      no dst or src modification  =>      src changed on dst
        src dies                                     ...

        It is some kind value numbering technique decreasing register
        pressure by removing one live-range.  It is not frequently
        triggered transformation (about 30 in all combine.c) and its
        effect is quite small but there is no harm in it at all too.

        So I added the code to IRA without changes practically (it would
        be nice to make this in more general way, e.g. not only in BB
        scope -- but I am not sure that it will makes visible
        improvements and I have no time to try this currently).
I wouldn't be concerned about generalizing this too much.  I can't see
how it's *that* important, and we can always come back to it if we
decide it is important.

I am completely agree with you.  I don't expect any important outcome
from this work.  In fact, I did some experiments with GVN about 10 years
ago (how time flies) for old RA and did not see any visible effect on
performance but generated code always changes and may be there are more
opportunity for this (although more probably less opportunities).  In
any case, it is lowest priority project for me and most probably I will
never start it.
I vaguely recall you talking about GVN in the allocator once -- perhaps at one of the summits. And yes, I recall you saying it wasn't particularly helpful.

Jeff


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