Allow non-overflow ops in reductions
commit5955834f8d62c6f1d5f3921c6fd6c5e56032639b
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Aug 2015 08:29:29 +0000 (1 08:29 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 1 Aug 2015 08:29:29 +0000 (1 08:29 +0000)
tree0353ecb04dbb4fcc695e28eb9c4d13e340815664
parent4691a5303dc8ea741d6c05262a7bb0a4245742e6
Allow non-overflow ops in reductions

2015-08-01  Tom de Vries  <tom@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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226463 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/graphite-sese-to-poly.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/autopar/reduc-2char.c
gcc/testsuite/gcc.dg/autopar/reduc-2short.c
gcc/testsuite/gcc.dg/autopar/reduc-8.c
gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c
gcc/tree-vect-loop.c
gcc/tree.c
gcc/tree.h