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

Reply via email to