re PR tree-optimization/48765 (ICE in vect_transform_stmt)
authorIra Rosen <ira.rosen@linaro.org>
Thu, 28 Apr 2011 19:50:28 +0000 (19:50 +0000)
committerIra Rosen <irar@gcc.gnu.org>
Thu, 28 Apr 2011 19:50:28 +0000 (19:50 +0000)
commit437f4a0024d9829a138ad1f5b0311cbf4289d5e3
treed74e91634ee0c939232faa3f82d1f68d10da27ba
parent45540bcf241167158663d4e7970749c103a8afd2
re PR tree-optimization/48765 (ICE in vect_transform_stmt)

        PR tree-optimization/48765
        * tree-vectorizer.h (vect_make_slp_decision): Return bool.
        * tree-vect-loop.c (vect_analyze_loop_operations): Add new
        argument to indicate if loop aware SLP is being used.  Scan
        the statements and update the vectorization factor
        according to the type of
        vectorization before statement analysis.
        (vect_analyze_loop_2): Get a return value from
        vect_make_slp_decision, pass it to
        vect_analyze_loop_operations.
        (vectorizable_reduction): Set number of copies to 1 in case of
        pure SLP statement.
        * tree-vect-stmts.c (vectorizable_conversion,
        vectorizable_assignment, vectorizable_shift,
        vectorizable_operation, vectorizable_type_demotion,
        vectorizable_type_promotion, vectorizable_store,
        vectorizable_load): Likewise.
        (vectorizable_condition): Move the check that it is not SLP
        vectorization before the number of copies check.
        * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if
        decided to vectorize the loop using SLP.

From-SVN: r173132
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr48765.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