This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR18754: add early loop pass, 2nd try
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Giovanni Bajo <giovannibajo at libero dot it>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 21 Jan 2005 11:38:12 -0500
- Subject: Re: [PATCH] Fix PR18754: add early loop pass, 2nd try
- References: <Pine.LNX.4.44.0501211707560.16464-100000@alwazn.tat.physik.uni-tuebingen.de>
On Fri, 2005-01-21 at 17:15 +0100, Richard Guenther wrote:
> On Fri, 21 Jan 2005, Zdenek Dvorak wrote:
> NEXT_PASS (pass_complete_unroll); (with loop cfg_cleanup)
> NEXT_PASS (pass_ccp);
> NEXT_PASS (pass_sra); -- results look ok
> NEXT_PASS (pass_ccp);
> NEXT_PASS (pass_dce);
> NEXT_PASS (pass_fre);
> NEXT_PASS (pass_iv_optimize);
>
> and still before iv_optimize we have multiple-BB inner loop and
> ivopts is breaking down. Obviously we need another round of
> jump threading and bb-merging/moving to get there -- do you
> really want to throw all the load of optimizers at completely
> unrolled loops _again_?
Our optimizers are supposed to be fast.
I have plans to lower address arithmetic, and then throw lowered address
arithmetic at at least 4 of them after loop is completely done.
Not that we should randomly be adding pass calls where we could just fix
optimizers, but, if they need to be run, they need to be run.