2013-04-19 Richard Biener <rguenther@suse.de>
commit678e3d6ec97f2cc186262d72c485f32f10b92c40
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Apr 2013 13:37:12 +0000 (19 13:37 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Apr 2013 13:37:12 +0000 (19 13:37 +0000)
tree296dc78a662c0699454b4483380a99d413a514d7
parentc210e3dad543618775c132952e319d7efd5bee52
2013-04-19  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (struct _slp_instance): Move load_permutation
member ...
(struct _slp_tree): ... here.  Make it a vector of unsigned ints.
(SLP_INSTANCE_LOAD_PERMUTATION): Remove.
(SLP_TREE_LOAD_PERMUTATION): Add.
(vect_transform_slp_perm_load): Adjust prototype.
* tree-vect-slp.c (vect_free_slp_tree): Adjust.
(vect_free_slp_instance): Likewise.
(vect_create_new_slp_node): Likewise.
(vect_supported_slp_permutation_p): Remove.
(vect_slp_rearrange_stmts): Adjust.
(vect_supported_load_permutation_p): Likewise.  Inline
vect_supported_slp_permutation_p here.
(vect_analyze_slp_instance): Compute load permutations per
slp node instead of per instance.
(vect_get_slp_defs): Adjust.
(vect_transform_slp_perm_load): Likewise.
(vect_schedule_slp_instance): Remove redundant code.
(vect_schedule_slp): Remove hack for PR56270, add it ...
* tree-vect-stmts.c (vectorizable_load): ... here, do not
CSE loads for SLP.  Adjust.

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