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]

[PATCH] Reschedule predictive-commoning pass


Hello,

Attached is a patch to reschedule predictive-commoning pass before
complete unrolling pass.

Testing this patch with SPEC2006 on 86_64-suse-linux
and powerpc64-suse-linux did not show significant
performance impact; as was previously noted in
http://gcc.gnu.org/ml/gcc-patches/2009-06/msg00631.html

The patch was bootstraped and regtested on powerpc64-suse-linux and
x86_64-linux-gnu with -O2 -fpredictive-commoning flags.

OK for mainline?

Thanks,
Revital

        * passes.c (init_optimization_passes): reschedule
        predictive-commoning pass before complete unroll pass.

Index: passes.c
===================================================================
--- passes.c    (revision 148302)
+++ passes.c    (working copy)
@@ -648,7 +648,6 @@ init_optimization_passes (void)
          NEXT_PASS (pass_copy_prop);
          NEXT_PASS (pass_dce_loop);
          NEXT_PASS (pass_lim);
-         NEXT_PASS (pass_predcom);
          NEXT_PASS (pass_tree_unswitch);
          NEXT_PASS (pass_scev_cprop);
          NEXT_PASS (pass_empty_loop);
@@ -665,6 +664,7 @@ init_optimization_passes (void)
              NEXT_PASS (pass_lower_vector_ssa);
              NEXT_PASS (pass_dce_loop);
            }
+          NEXT_PASS (pass_predcom);
          NEXT_PASS (pass_complete_unroll);
          NEXT_PASS (pass_slp_vectorize);
          NEXT_PASS (pass_parallelize_loops);


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