[Bug tree-optimization/23094] store ccp, or store copy prop misses an optimization
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Aug 19 09:09:00 GMT 2008
------- Comment #12 from rguenth at gcc dot gnu dot org 2008-08-19 09:08 -------
Subject: Bug 23094
Author: rguenth
Date: Tue Aug 19 09:06:54 2008
New Revision: 139226
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=139226
Log:
2008-08-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/35972
PR tree-optimization/23094
* tree-ssa-sccvn.h (vn_reference_lookup_pieces): Add maywalk
parameter.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
handle MISALIGNED_INDIRECT_REF.
(get_ref_from_reference_ops): New helper.
(vn_reference_lookup_pieces): Walk the use-def chain using the
alias-oracle if requested.
* tree-ssa-pre.c (phi_translate_1): Do reference lookup with
walking the use-def chain.
(compute_avail): But not here.
(create_component_ref_by_pieces_1): Properly handle
MISALIGNED_INDIRECT_REF.
(do_regular_insertion): Handle fully redundant
expressions after PHI-translation also for SSA_NAME values, not
only constants. Correctly use edoubleprime for that.
* gcc.dg/tree-ssa/ssa-pre-19.c: New testcase.
* gcc.dg/autopar/reduc-1.c: Move constant initialized arrays to
global memory.
* gcc.dg/autopar/reduc-1char.c: Likewise.
* gcc.dg/autopar/reduc-1short.c: Likewise.
* gcc.dg/autopar/reduc-2.c: Likewise.
* gcc.dg/autopar/reduc-2char.c: Likewise.
* gcc.dg/autopar/reduc-2short.c: Likewise.
* gcc.dg/autopar/reduc-3.c: Likewise.
* gcc.dg/tree-ssa/ifc-20040816-1.c: Likewise.
* gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Likewise.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Likewise.
* gcc.dg/vect/fast-math-vect-reduc-5.c: Likewise.
* gcc.dg/vect/fast-math-vect-reduc-7.c: Likewise.
* gcc.dg/vect/no-trapping-math-2.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-111.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
* gcc.dg/vect/no-vfa-vect-37.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/pr18400.c: Likewise.
* gcc.dg/vect/slp-12b.c: Likewise.
* gcc.dg/vect/slp-14.c: Likewise.
* gcc.dg/vect/slp-7.c: Likewise.
* gcc.dg/vect/slp-15.c: Likewise.
* gcc.dg/vect/slp-16.c: Likewise.
* gcc.dg/vect/slp-17.c: Likewise.
* gcc.dg/vect/slp-24.c: Likewise.
* gcc.dg/vect/slp-28.c: Likewise.
* gcc.dg/vect/slp-3.c: Likewise.
* gcc.dg/vect/slp-34.c: Likewise.
* gcc.dg/vect/slp-6.c: Likewise.
* gcc.dg/vect/slp-8.c: Likewise.
* gcc.dg/vect/vect-107.c: Likewise.
* gcc.dg/vect/vect-108.c: Likewise.
* gcc.dg/vect/vect-11.c: Likewise.
* gcc.dg/vect/vect-112.c: Likewise.
* gcc.dg/vect/vect-115.c: Likewise.
* gcc.dg/vect/vect-11a.c: Likewise.
* gcc.dg/vect/vect-34.c: Likewise.
* gcc.dg/vect/vect-9.c: Likewise.
* gcc.dg/vect/vect-97.c: Likewise.
* gcc.dg/vect/vect-align-1.c: Likewise.
* gcc.dg/vect/vect-float-extend-1.c: Likewise.
* gcc.dg/vect/vect-floatint-conversion-1.c: Likewise.
* gcc.dg/vect/vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-17.c: Likewise.
* gcc.dg/vect/vect-ifcvt-2.c: Likewise.
* gcc.dg/vect/vect-ifcvt-3.c: Likewise.
* gcc.dg/vect/vect-ifcvt-4.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-6.c: Likewise.
* gcc.dg/vect/vect-ifcvt-7.c: Likewise.
* gcc.dg/vect/vect-intfloat-conversion-1.c: Likewise.
* gcc.dg/vect/vect-intfloat-conversion-2.c: Likewise.
* gcc.dg/vect/vect-intfloat-conversion-3.c: Likewise.
* gcc.dg/vect/vect-intfloat-conversion-4a.c: Likewise.
* gcc.dg/vect/vect-intfloat-conversion-4b.c: Likewise.
* gcc.dg/vect/vect-multitypes-2.c: Likewise.
* gcc.dg/vect/vect-multitypes-5.c: Likewise.
* gcc.dg/vect/vect-reduc-1.c: Likewise.
* gcc.dg/vect/vect-reduc-1char.c: Likewise.
* gcc.dg/vect/vect-reduc-1short.c: Likewise.
* gcc.dg/vect/vect-reduc-2.c: Likewise.
* gcc.dg/vect/vect-reduc-3.c: Likewise.
* gcc.dg/vect/vect-shift-1.c: Likewise.
* gcc.dg/vect/vect-strided-float.c: Likewise.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Likewise.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
* gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-19.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/autopar/reduc-1.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-1char.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-1short.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-2.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-2char.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-2short.c
trunk/gcc/testsuite/gcc.dg/autopar/reduc-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11a.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c
trunk/gcc/testsuite/gcc.dg/vect/fast-math-vect-reduc-5.c
trunk/gcc/testsuite/gcc.dg/vect/fast-math-vect-reduc-7.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-2.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-111.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c
trunk/gcc/testsuite/gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
trunk/gcc/testsuite/gcc.dg/vect/pr18400.c
trunk/gcc/testsuite/gcc.dg/vect/slp-12b.c
trunk/gcc/testsuite/gcc.dg/vect/slp-14.c
trunk/gcc/testsuite/gcc.dg/vect/slp-15.c
trunk/gcc/testsuite/gcc.dg/vect/slp-16.c
trunk/gcc/testsuite/gcc.dg/vect/slp-17.c
trunk/gcc/testsuite/gcc.dg/vect/slp-24.c
trunk/gcc/testsuite/gcc.dg/vect/slp-28.c
trunk/gcc/testsuite/gcc.dg/vect/slp-3.c
trunk/gcc/testsuite/gcc.dg/vect/slp-34.c
trunk/gcc/testsuite/gcc.dg/vect/slp-6.c
trunk/gcc/testsuite/gcc.dg/vect/slp-7.c
trunk/gcc/testsuite/gcc.dg/vect/slp-8.c
trunk/gcc/testsuite/gcc.dg/vect/vect-107.c
trunk/gcc/testsuite/gcc.dg/vect/vect-108.c
trunk/gcc/testsuite/gcc.dg/vect/vect-11.c
trunk/gcc/testsuite/gcc.dg/vect/vect-112.c
trunk/gcc/testsuite/gcc.dg/vect/vect-115.c
trunk/gcc/testsuite/gcc.dg/vect/vect-11a.c
trunk/gcc/testsuite/gcc.dg/vect/vect-34.c
trunk/gcc/testsuite/gcc.dg/vect/vect-9.c
trunk/gcc/testsuite/gcc.dg/vect/vect-97.c
trunk/gcc/testsuite/gcc.dg/vect/vect-align-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-floatint-conversion-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-16.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-17.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c
trunk/gcc/testsuite/gcc.dg/vect/vect-intfloat-conversion-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-intfloat-conversion-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-intfloat-conversion-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-intfloat-conversion-4a.c
trunk/gcc/testsuite/gcc.dg/vect/vect-intfloat-conversion-4b.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-5.c
trunk/gcc/testsuite/gcc.dg/vect/vect-reduc-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-reduc-1char.c
trunk/gcc/testsuite/gcc.dg/vect/vect-reduc-1short.c
trunk/gcc/testsuite/gcc.dg/vect/vect-reduc-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-reduc-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-shift-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-strided-float.c
trunk/gcc/testsuite/gcc.dg/vect/vect-strided-store-u32-i2.c
trunk/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2char.c
trunk/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2short.c
trunk/gcc/tree-ssa-pre.c
trunk/gcc/tree-ssa-sccvn.c
trunk/gcc/tree-ssa-sccvn.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23094
More information about the Gcc-bugs
mailing list