This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Reschedule predictive-commoning pass
- From: Revital1 Eres <ERES at il dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 10 Jun 2009 14:27:47 +0300
- Subject: [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);