re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)
authorRichard Biener <rguenther@suse.de>
Mon, 12 Feb 2018 13:55:04 +0000 (13:55 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 12 Feb 2018 13:55:04 +0000 (13:55 +0000)
commit78604de064490c8c12d2d4efadbd453f7c8c7685
tree41fce6fcdbb10087cd790b2c526e4f049acc8858
parente1f30526731145b3d047c6eede48915ad36a0921
re PR tree-optimization/84037 (Speed regression of polyhedron benchmark since r256644)

2018-02-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84037
* tree-vect-slp.c (vect_analyze_slp_cost): Add visited
parameter, move visited init to caller.
(vect_slp_analyze_operations): Separate cost from validity
check, initialize visited once for all instances.
(vect_schedule_slp): Analyze map to CSE vectorized nodes once
for all instances.
* tree-vect-stmts.c (vect_model_simple_cost): Make early
out an assert.
(vect_model_promotion_demotion_cost): Likewise.
(vectorizable_bswap): Guard cost modeling with !slp_node
instead of !PURE_SLP_STMT to avoid double-counting on hybrid
SLP stmts.
(vectorizable_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
(vectorizable_condition): Likewise.
(vectorizable_comparison): Likewise.

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