Hi All, This patch is a respin of the previous one defining a new helper function add_pattern_stmt. Ok for master? Thanks, Tamar gcc/ChangeLog: * tree-vect-patterns.c (vect_mark_pattern_stmts): Remove static inline. * tree-vect-slp.c (vect_create_new_slp_node): Remove static and only set smts if valid. * tree-vectorizer.c (vec_info::add_pattern_stmt): New. (vec_info::set_vinfo_for_stmt): Optionally enforce read-only. * tree-vectorizer.h (struct _slp_tree): Use new types. (lane_permutation_t, lane_permutation_t): New. (vect_create_new_slp_node, vect_mark_pattern_stmts): New. > -----Original Message----- > From: Gcc-patches On Behalf Of Tamar > Christina > Sent: Friday, September 25, 2020 3:28 PM > To: gcc-patches@gcc.gnu.org > Cc: nd ; rguenther@suse.de; ook@ucw.cz > Subject: [PATCH v2 2/16]middle-end: Refactor and expose some vectorizer > helper functions. > > Hi All, > > This is a small refactoring which exposes some helper functions in the > vectorizer so they can be used in other places. > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > > Ok for master? > > Thanks, > Tamar > > gcc/ChangeLog: > > * tree-vect-patterns.c (vect_mark_pattern_stmts): Remove static. > * tree-vect-slp.c (vect_free_slp_tree, > vect_build_slp_tree): Remove static. > (struct bst_traits, bst_traits::hash, bst_traits::equal): Move... > * tree-vectorizer.h (struct bst_traits, bst_traits::hash, > bst_traits::equal): ... to here. > (vect_mark_pattern_stmts, vect_free_slp_tree, > vect_build_slp_tree): Declare. > > --