OSDN Git Service

2010-08-12 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Aug 2010 10:38:05 +0000 (10:38 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Aug 2010 10:38:05 +0000 (10:38 +0000)
commitca3c90928de210a9bf5d7dcefd5419c8ba7b569f
tree0b5ac0be840f1c9c145ded9acd7debd5de9e9e84
parent153c3b5050025f879d92be6cd675dbb0686255e3
2010-08-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/45232
* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
for types with undefined overflow.
(reassociate_bb): Allow re-associating of bit and min/max
operations for types with undefined overflow.
* tree-ssa-forwprop.c (associate_plusminus): New function.
(tree_ssa_forward_propagate_single_use_vars): Call it.

* gcc.dg/tree-ssa/pr44133.c: Adjust warning location.
* gcc.dg/tree-ssa/loop-7.c: Adjust.
* gcc.dg/tree-ssa/reassoc-1.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-20.c: Add reassoc-1.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-14.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
* gcc.dg/tree-ssa/reassoc-18.c: Likewise.
* gcc.dg/tree-ssa/reassoc-2.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-21.c: Add reassoc-2.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-6.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-22.c: Add reassoc-6.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-7.c: Use unsigned arithmetic.
* gcc.dg/tree-ssa/reassoc-9.c: XFAIL.
* gcc.dg/tree-ssa/reassoc-23.c: Add reassoc-9.c variant with
unsigned arithmetic.
* gcc.dg/tree-ssa/ssa-pre-2.c: Adjust.
* gcc.dg/tree-ssa/negate.c: Adjust.
* gcc.dg/vect/vect-1.c: Adjust.
* gfortran.dg/reassoc_6.f: XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163190 138bc75d-0d04-0410-961f-82ee72b054a4
22 files changed:
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/loop-7.c
gcc/testsuite/gcc.dg/tree-ssa/negate.c
gcc/testsuite/gcc.dg/tree-ssa/pr44133.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-1.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-14.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-15.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-18.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-2.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-20.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/reassoc-21.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/reassoc-22.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/reassoc-23.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/reassoc-6.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-7.c
gcc/testsuite/gcc.dg/tree-ssa/reassoc-9.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-2.c
gcc/testsuite/gcc.dg/vect/vect-1.c
gcc/testsuite/gfortran.dg/reassoc_6.f
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-reassoc.c