This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Say RIP to store-ccp
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Diego Novillo <dnovillo at google dot com>
- Date: Tue, 19 Aug 2008 16:03:41 +0200 (CEST)
- Subject: [PATCH] Say RIP to store-ccp
The following patch disables store-ccp and xfails the single affected
testcase (which originally came from tramp3d where this transformation
still triggers a single time, removing it has no performance impact
though).
I benchmarked this on SPEC CPU 2000 and Polyhedron and our suite of C++
tests with no bad effects.
Ok for mainline? I'll followup with a patch to remove the then dead
infrastructure pieces.
Thanks,
Richard.
2008-08-19 Richard Guenther <rguenther@suse.de>
* passes.c (init_optimization_passes): Exchange store-ccp
with a ccp pass.
* gcc.dg/tree-ssa/ssa-ccp-14.c: XFAIL.
Index: trunk/gcc/passes.c
===================================================================
*** trunk.orig/gcc/passes.c 2008-08-18 16:32:09.000000000 +0200
--- trunk/gcc/passes.c 2008-08-18 16:32:17.000000000 +0200
*************** init_optimization_passes (void)
*** 632,638 ****
NEXT_PASS (pass_forwprop);
NEXT_PASS (pass_phiopt);
NEXT_PASS (pass_object_sizes);
! NEXT_PASS (pass_store_ccp);
NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_fold_builtins);
NEXT_PASS (pass_cse_sincos);
--- 632,638 ----
NEXT_PASS (pass_forwprop);
NEXT_PASS (pass_phiopt);
NEXT_PASS (pass_object_sizes);
! NEXT_PASS (pass_ccp);
NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_fold_builtins);
NEXT_PASS (pass_cse_sincos);
Index: trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-14.c
===================================================================
*** trunk.orig/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-14.c 2008-03-25 13:37:42.000000000 +0100
--- trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-14.c 2008-08-18 16:53:33.000000000 +0200
*************** void bar (void)
*** 17,21 ****
}
/* Everything except for the "i = 0" assignment should get removed. */
! /* { dg-final { scan-tree-dump-times "if" 0 "optimized"} } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
--- 17,21 ----
}
/* Everything except for the "i = 0" assignment should get removed. */
! /* { dg-final { scan-tree-dump-times "if" 0 "optimized" { xfail *-*-* } } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */