This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect] [patch] complete-unrolling pass before the vectorizer
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Revital1 Eres <ERES at il dot ibm dot com>, Dorit Nuzman <DORIT at il dot ibm dot com>, rguenther at suse dot de, Ayal Zaks <ZAKS at il dot ibm dot com>, Kaplansky/Haifa/IBM%IBMIL <Kaplansky/Haifa/IBM%IBMIL at il dot ibm dot com>
- Date: Mon, 19 Mar 2007 23:10:21 +0100
- Subject: Re: [autovect] [patch] complete-unrolling pass before the vectorizer
- References: <OFD9C45823.351D162E-ONC22572A3.00553935-C22572A3.0055448A@il.ibm.com>
On Monday 19 March 2007 16:31, Revital1 Eres wrote:
> * passes.c (init_optimization_passes): move complete-unrolling
> pass before the vectorizer and add constant propagation,
> store-ccp, dse and dce passes after it.
> Index: passes.c
> ===================================================================
> --- passes.c (revision 122978)
> +++ passes.c (working copy)
> @@ -591,6 +591,11 @@
> NEXT_PASS (pass_linear_transform);
> NEXT_PASS (pass_iv_canon);
> NEXT_PASS (pass_if_conversion);
> + NEXT_PASS (pass_complete_unroll);
> + NEXT_PASS (pass_ccp);
> + NEXT_PASS (pass_store_ccp);
> + NEXT_PASS (pass_dse);
> + NEXT_PASS (pass_dce);
> NEXT_PASS (pass_vectorize);
> {
> struct tree_opt_pass **p = &pass_vectorize.sub;
Why do you need pass_ccp before pass_store_ccp? Doesn't pass_store_ccp
do at least the propagations that a normal CCP pass would do? That
pass_ccp looks like redundant work to me. Can you explain why you had
to schedule it there?
Gr.
Steven