]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-vect-loop.c (vect_fixup_reduc_chain): New function.
authorRichard Biener <rguenther@suse.de>
Thu, 28 May 2015 13:29:41 +0000 (13:29 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 28 May 2015 13:29:41 +0000 (13:29 +0000)
commit14a6143710feb60e4471ca4288b03398cbba32e8
treee58d06abd6645dd0965c136f0078b9ac6a74f784
parent228722248f2f6a9e32d8f761e6579c2f56cdec4f
tree-vect-loop.c (vect_fixup_reduc_chain): New function.

2015-05-28  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
(vect_fixup_scalar_cycles_with_patterns): Likewise.
(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
after pattern recog.
(vect_create_epilog_for_reduction): Properly handle reductions
with patterns.
(vectorizable_reduction): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
reduction chains.
(vect_get_constant_vectors): Create the correct number of
initial values for reductions.
(vect_schedule_slp_instance): Handle reduction chains that are
type changing properly.
* tree-vect-stmts.c (vect_analyze_stmt): Adjust.

* gcc.dg/vect/slp-reduc-sad.c: New testcase.

From-SVN: r223818
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/slp-reduc-sad.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c