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

Reply via email to