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]

Re: moving constants out of loops


    Now that we agree that we're really enabling the loop optimizer to
    find more givs hopefully my comment makes more sense.  ie, the
    existing alias code in gcc2 isn't up to the task of dealing with the
    more complex givs (in particular those used for memory addresses).

I don't see it as an alias issue per se.  What I see is that the more
givs that are found, the more relationships between givs that can be
found.  Currently loop.c doesn't take advantage of that.  Part of what
I was doing (and never finished) is to do much better tracking of the
relationship between givs.  That allows for much better choosing of
which to reduce and also to allow many more cases of biv elimination.

Certainly, if you reduce too many of these, there are problems.

I think this is precisely the trickiest issue in all of loop.c.


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