Peeling loops at tree level?, Lno branch merge patches ping
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Mon Sep 13 15:49:00 GMT 2004
Hello,
> > > > Do we (I suspect not) peel small loops at tree level yet?
> > > Btw. lno from g++ (GCC) 3.5-tree-ssa-lno 20040630 (merged 20040612)
> > > seems to do the trick:
> > >
> > > ;; Function int bar(constVector<3>&) (_Z3barRK6VectorILi3EE)
> > >
> > > int bar(constVector<3>&) (x)
> > > {
> > > [...]
> > > <bb 0>:
> > > return *&x->val[2] + x->val[1] + x->val[0] + res;
> > >
> > > }
> > >
> > > So I guess we'll get this feature during further merge of lno?
> >
> > indeed -- this will work once this lno branch merge patch
> >
> > http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00325.html
> >
> > is in and the optimization is enabled.
>
> Uh, this looks "old" - maybe you should ping for this merge?
The patch of course is a bit out-of-date just now; only minor changes,
like renaming uses of build_int_cst to build_int_cst_type and removing
parts already merged with ivopts should be needed, however.
> Current status of lno-merge seems a bit unclear at the moment.
Patches #9, 10 and 11 (urls below) are waiting for review. Some
optimizations that use parts of those patches need to be fully enabled
once the patches are in. There are several followup patches, but they
are just small ones (and we can survive without them if they are not
accepted due to stage 3 restrictions).
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00300.html (part 9)
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00325.html (part 10)
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00404.html (part 11)
The patches need to be reviewed in this order, since they depend on the
previous ones.
There are also several loop optimizer related patches submitted
independently on the merge -- induction variables splitting in
loop optimizer (newest version at
http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01185.html)
and removal of empty loops
(http://gcc.gnu.org/ml/gcc-patches/2004-07/msg01679.html).
Zdenek
More information about the Gcc
mailing list