This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/45232] [4.6 regression] tree reassociation introduces undefined overflow
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Aug 2010 10:38:22 -0000
- Subject: [Bug tree-optimization/45232] [4.6 regression] tree reassociation introduces undefined overflow
- References: <bug-45232-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from rguenth at gcc dot gnu dot org 2010-08-12 10:38 -------
Subject: Bug 45232
Author: rguenth
Date: Thu Aug 12 10:38:05 2010
New Revision: 163190
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163190
Log:
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.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-20.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-21.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-22.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-23.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-7.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/negate.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr44133.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-14.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-15.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-18.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-6.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-7.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/reassoc-9.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-1.c
trunk/gcc/testsuite/gfortran.dg/reassoc_6.f
trunk/gcc/tree-ssa-forwprop.c
trunk/gcc/tree-ssa-reassoc.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45232