https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66975
--- Comment #3 from vries at gcc dot gnu.org --- https://gcc.gnu.org/ml/gcc-cvs/2015-08/msg00003.html : Author: vries Date: Sat Aug 1 08:29:29 2015 New Revision: 226463 URL: https://gcc.gnu.org/viewcvs?rev=226463&root=gcc&view=rev Log: Allow non-overflow ops in reductions 2015-08-01 Tom de Vries <t...@codesourcery.com> * tree.c (operation_can_overflow, operation_no_trapping_overflow): New function. * tree.h (operation_can_overflow, operation_no_trapping_overflow): Declare. * tree-vect-loop.c (vect_is_simple_reduction_1): Use operation_no_trapping_overflow. Allow non-overflow operations. * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow operations. * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2 detected reductions. Add xfail scans for 3 detected reductions. * gcc.dg/autopar/reduc-2short.c: Same. * gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute optimize ("-ftree-parallelize-loops=0"). Add successful scans for 2 detected reductions. * gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min and max reductions. Modified: trunk/gcc/ChangeLog trunk/gcc/graphite-sese-to-poly.c trunk/gcc/testsuite/ChangeLog 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-8.c trunk/gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c trunk/gcc/tree-vect-loop.c trunk/gcc/tree.c trunk/gcc/tree.h