tree-vect-loop.c (get_reduction_op): New function.
authorRichard Biener <rguenther@suse.de>
Fri, 22 May 2015 09:00:28 +0000 (09:00 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 22 May 2015 09:00:28 +0000 (09:00 +0000)
commitafbe632536736558f24680aa2c4c00b2d451e0b6
treed0eacad77020a0aa1c97435bd56829e44fc17a26
parent328dc4771b6a34b8630f6508577d10d5ea1774a2
tree-vect-loop.c (get_reduction_op): New function.

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.

From-SVN: r223526
gcc/ChangeLog
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c