This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: moving constants out of loops
- To: law at cygnus dot com
- Subject: Re: moving constants out of loops
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Tue, 30 Jun 98 19:49:23 EDT
- Cc: Haj dot Ten dot Brugge at net dot hcc dot nl, egcs-patches at cygnus dot com, gcc-patches at gnu dot org
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.