gnu/gcc/cd962857ea3d8db2e7ed08f98df4152e7739e8cd avoid SLP_TREE_REPRESENTATIVE for permutes
The following consistently keeps SLP_TREE_REPRESENTATIVE cleared
for VEC_PERM_EXPR SLP nodes and verifies this.
* tree-vect-slp.cc (vect_slp_build_two_operator_nodes):
Set SLP_TREE_REPRESENTATIVE to NULL for the permute nodes.
(vect_build_slp_tree_2): Likewise.
(vect_build_slp_store_interleaving): Likewise.
(vect_lower_load_permutations): Likewise.
(vect_optimize_slp_pass::get_result_with_layout): Likewise.
(vect_cse_slp_node_parts): Deal with NULL SLP_TREE_REPRESENTATIVE
for VEC_PERM nodes.
(vect_slp_analyze_node_operations_1): Assert permute nodes
do not have SLP_TREE_REPRESENTATIVE set.
* tree-vect-slp-patterns.cc (complex_pattern::build): Adjust.
(vect_build_swap_evenodd_node): Do not set SLP_TREE_REPRESENTATIVE.
(vect_build_combine_node): Likewise.
2 files changed