https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92516
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Mon Nov 18 14:07:11 2019 New Revision: 278406 URL: https://gcc.gnu.org/viewcvs?rev=278406&root=gcc&view=rev Log: 2019-11-18 Richard Biener <rguent...@suse.de> PR tree-optimization/92516 * tree-vect-slp.c (vect_analyze_slp_instance): Add bst_map argument, hoist bst_map creation/destruction to ... (vect_analyze_slp): ... here, forming a true graph with SLP instances being the entries. (vect_detect_hybrid_slp_stmts): Remove wrapper. (vect_detect_hybrid_slp): Use one visited set for all graph entries. (vect_slp_analyze_node_operations): Simplify visited/lvisited to hash-sets of slp_tree. (vect_slp_analyze_operations): Likewise. (vect_bb_slp_scalar_cost): Remove wrapper. (vect_bb_vectorization_profitable_p): Use one visited set for all graph entries. (vect_schedule_slp_instance): Elide bst_map use. (vect_schedule_slp): Likewise. * g++.dg/vect/slp-pr92516.cc: New testcase. 2019-11-18 Richard Biener <rguent...@suse.de> * tree-vect-slp.c (vect_analyze_slp_instance): When a CTOR was vectorized with just external refs fail. * gcc.dg/vect/vect-ctor-1.c: New testcase. Added: trunk/gcc/testsuite/g++.dg/vect/slp-pr92516.cc trunk/gcc/testsuite/gcc.dg/vect/vect-ctor-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-slp.c