moving constants out of loops
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