OSDN Git Service

* tree-vectorizer.h (vectorizable_condition): Add argument.
authorirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Nov 2011 09:01:45 +0000 (09:01 +0000)
committerirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 6 Nov 2011 09:01:45 +0000 (09:01 +0000)
commitf2104a5407d5a8d2fac30d7c306f571632a344dc
tree6b7d1314dddf8d842d6c82f9e473a7263d89ac37
parent1ac0836bf198c657a611060fa7124be91ddcfa48
    * tree-vectorizer.h (vectorizable_condition): Add argument.
        * tree-vect-loop.c (vectorizable_reduction): Fail for condition
        in SLP.  Update calls to vectorizable_condition.
        * tree-vect-stmts.c (vect_is_simple_cond): Add basic block info
        to the arguments.  Pass it to vect_is_simple_use_1.
        (vectorizable_condition): Add slp_node to the arguments.
        Support vectorization of basic blocks.  Fail for reduction in
        SLP.  Update calls to vect_is_simple_cond and
        vect_is_simple_use.  Support SLP: call vect_get_slp_defs to get
        vector operands.
        (vect_analyze_stmt): Update calls to vectorizable_condition.
        (vect_transform_stmt): Likewise.
        * tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
        (vect_get_and_check_slp_defs): Handle COND_EXPR.  Allow pattern
        def stmts.
        (vect_build_slp_tree): Handle COND_EXPR.
        (vect_analyze_slp_instance): Push pattern statements to root
        node.
        (vect_get_constant_vectors): Fix comments.  Handle COND_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181026 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/bb-slp-cond-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/slp-cond-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/slp-cond-2.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h