This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR18754: add early loop pass, 2nd try


Zdenek Dvorak wrote:
Hello,


(Richard Guenther wrote in
http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01308.html:)

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 best.


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).

Yes, I tried this - actually just adding SRA and redphi after cunroll, but this caused verify failures about not the right ssa form or so. So I guessed SRA may be not ready to preserve invariants the loop optimizers need.


Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]