moving constants out of loops

Richard Kenner
Tue Jun 30 16:47:00 GMT 1998

    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.

More information about the Gcc-patches mailing list