Use SLP_TREE_VECTYPE consistently
This assigns SLP_TREE_VECTYPE to all SLP nodes and uses it when
analyzing def operands. It does not deal with mismatches between
SLP_TREE_VECTYPE and STMT_VINFO_VECTYPE yet - those cases are
still rejected until I get to clean up the interaction with data
reference groups.
2020-06-17 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_build_slp_tree_1): Set the passed
in *vectype parameter.
(vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what
vect_build_slp_tree_1 computed.
(vect_analyze_slp_instance): Set SLP_TREE_VECTYPE.
(vect_slp_analyze_node_operations_1): Use the SLP node vector type.
(vect_schedule_slp_instance): Likewise.
* tree-vect-stmts.c (vect_is_simple_use): Take the vector type
from SLP_TREE_VECTYPE.