https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66856
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Fri Jan 15 15:43:48 2016 New Revision: 232435 URL: https://gcc.gnu.org/viewcvs?rev=232435&root=gcc&view=rev Log: 2016-01-15 Richard Biener <rguent...@suse.de> PR tree-optimization/66856 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here. * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count. (vect_create_new_slp_node): Increment stmt reference count. (vect_get_and_check_slp_defs): Make sure stmts are nor already in an SLP tree before swapping operands. (vect_build_slp_tree): Likewise. (destroy_bb_vec_info): Free stmt info after SLP instances. * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count. * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field. (STMT_VINFO_NUM_SLP_USES): New macro. * gcc.dg/torture/pr66856-1.c: New testcase. * gcc.dg/torture/pr66856-2.c: Likewise. Added: trunk/gcc/testsuite/gcc.dg/torture/pr66856-1.c trunk/gcc/testsuite/gcc.dg/torture/pr66856-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop.c trunk/gcc/tree-vect-slp.c trunk/gcc/tree-vect-stmts.c trunk/gcc/tree-vectorizer.h