This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR18754: add early loop pass, 2nd try
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: Giovanni Bajo <giovannibajo at libero dot it>, gcc-patches at gcc dot gnu dot org,Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- Date: Thu, 20 Jan 2005 19:33:59 +0100
- Subject: Re: [PATCH] Fix PR18754: add early loop pass, 2nd try
- References: <OFBB3DD9B5.9D2258AD-ONC2256F8F.0054E7F1-C2256F8F.005560FD@il.ibm.com>
> (Richard Guenther wrote in
> > I did experiments with scheduling a second SRA pass after
> > loop optimization, but that doesn't help ivopts - we'd need
> > another loop pass after the second SRA this way.
> Maybe adding this extra ivopts pass isn't that bad? If that would allow
> scheduling vectorization then loop-unrolling then SRA I think that would be
extra ivopts pass is not a good idea (ivopts are quite slow just now).
The right fix seems to be to add the second SRA pass in the middle of loop
optimizations (just immediately after cunroll). You would also need to
schedule constant propagation pass there (which should just work)
and preferably also cfg_cleanup (the variation from tcb branch that
preserves loop structures).