re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
authorRichard Guenther <rguenther@suse.de>
Tue, 4 Sep 2007 08:38:56 +0000 (08:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 4 Sep 2007 08:38:56 +0000 (08:38 +0000)
commit04d86531d7cf2080903ea85d27d79daa944828fb
tree333af519eb1ef7bdaff0a09aeb9d6248eee3cef5
parentfc7a6a0dfa65af07a199aa34823d81800ec35f64
re PR tree-optimization/33291 (a+=2; a+=2  not simplified to  a+=4;  with -O3   (ok with gcc-4.2.1))

2007-09-04  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/33291
* tree-pretty-print.c (dump_generic_node): Dump all
qualifiers for pointer types, not only first.  Dump
qualifiers for aggregate types as well.
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Always
use the canonical type for building ARRAY_REFs.
* gimplify.c (canonicalize_addr_expr): Clean up.  The
correct validness check is compatibility of the pointer
types.  Always use the canonical type for building
ARRAY_REFs and ADDR_EXPRs.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Revert
change that disabled propagation of ADDR_EXPRs into statements
with volatile ops.

* gcc.dg/volatile2.c: New testcase.
* gcc.dg/pr32721.c: Adjust volatile reference pattern.
* gcc.dg/tree-ssa/forwprop-1.c: Remove xfail.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
* gcc.dg/tree-ssa/pr17141-1.c: Likewise.

From-SVN: r128068
gcc/ChangeLog
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr32721.c
gcc/testsuite/gcc.dg/tree-ssa/forwprop-1.c
gcc/testsuite/gcc.dg/tree-ssa/forwprop-2.c
gcc/testsuite/gcc.dg/tree-ssa/pr17141-1.c
gcc/testsuite/gcc.dg/volatile2.c [new file with mode: 0644]
gcc/tree-pretty-print.c
gcc/tree-ssa-ccp.c
gcc/tree-ssa-forwprop.c