This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Loop optimizer issues
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: gcc at gcc dot gnu dot org
- Cc: rth at redhat dot com, jason at redhat dot com, dnovillo at redhat dot com,pop at gauvain dot u-strasbg dot fr, jh at suse dot cz
- Date: Fri, 30 May 2003 20:35:52 +0200
- Subject: Loop optimizer issues
Hello,
I would like to discuss some of the loop optimizer related issues:
The process of merging of the loop optimizer work I am currently doing
on rtlopt branch. I am quite sure that I won't be able to get it to
reasonable state for 3.4. I would however like to reuse some parts of
this work on tree-ssa. Would it be feasible to merge this work from
rtlopt branch to tree-ssa branch once it is in sufficiently stabilized
state (in about a month or so)?
What parts do we want to do on ast level and what on rtl level?
The optimizations I would like to see on rtl level:
doloop optimization -- clearly machine specific and hard to express
on ast level
unrolling (at least partially) -- to do it efficiently we should take
scheduling into account, which we cannot until late rtl stages
(maybe) prefetching -- it is machine specific, but it should not
be hard to do it in later stages of ast, where it could still benefit
from a more accurate analyses
(maybe) part of induction variable optimizations that require knowledge
of addressing modes; again could also be done in late ast stages
loop invariant motion -- it must take register pressure into account
Most of the above mentioned optimizations that are suitable for rtl
level would benefit from results of analyses done on ast level; we
should also consider how to pass them there (perhaps some annotations on
appropriate registers? It would be quite hard to keep them up-to-date).
And finally, who will do it? I of course volunteer for anything of the
above and later implementation of additional optimizations, but on gcc
summit I had a feeling that other people also have related plans. There
is a lot of stuff to do, but we need to coordinate it somehow so that
one thing is not unnecessarily done twice.
Zdenek