2015-05-22 Richard Biener <rguenther@suse.de>
commit95fd35782c03940e19c9e6625143dc96d1b68c72
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 May 2015 09:00:28 +0000 (22 09:00 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 May 2015 09:00:28 +0000 (22 09:00 +0000)
treed0eacad77020a0aa1c97435bd56829e44fc17a26
parent741d8227d7709142448529e94229b02433b5ed5a
2015-05-22  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (get_reduction_op): New function.
(vect_model_reduction_cost): Use it, add reduc_index parameter.
Make ready for BB reductions.
(vect_create_epilog_for_reduction): Use get_reduction_op.
(vectorizable_reduction): Init reduc_index to a valid value.
Adjust vect_model_reduction_cost call.
* tree-vect-slp.c (vect_get_constant_vectors): Use the proper
operand for reduction defaults.  Add SAD_EXPR support.
Assert we have a neutral op for SLP reductions.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
walking pattern stmt ops only recurse to SSA names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223526 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c