[autovect] [patch] complete-unrolling pass before the vectorizer

Steven Bosscher stevenb.gcc@gmail.com
Mon Mar 19 23:04:00 GMT 2007


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



More information about the Gcc-patches mailing list