tree-vectorizer.c (vect_is_simple_use): Support induction.
authorDorit Nuzman <dorit@il.ibm.com>
Tue, 6 Feb 2007 10:08:51 +0000 (10:08 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Tue, 6 Feb 2007 10:08:51 +0000 (10:08 +0000)
commitfbf798fcc5f1a456213c99d59df41adaf38ad4d8
tree3e78c2931f5a1e916ecd248c65d21ec69fd56509
parent426147a1e8ca92e3c32168f50dc9a2d04825c42c
tree-vectorizer.c (vect_is_simple_use): Support induction.

2007-02-06  Dorit Nuzman  <dorit@il.ibm.com>
            Victor Kaplansky  <victork@il.ibm.com>

        * tree-vectorizer.c (vect_is_simple_use): Support induction.
        (vect_is_simple_reduction): Support reduction with induction as
        one of the operands.
        (vect_is_simple_iv_evolution): Fix formatting.
        * tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix
        formatting.  Don't mark induction phis for vectorization.
        (vect_analyze_scalar_cycles): Analyze all inductions, then reductions.
        * tree-vect-transform.c (get_initial_def_for_induction): New function.
        (vect_get_vec_def_for_operand): Support induction.
        (vect_get_vec_def_for_stmt_copy): Fix formatting and add check for
        induction case.
        (vectorizable_reduction): Support reduction with induction as one of
        the operands.
        (vectorizable_type_demotion): Use def-type of stmt argument rather
        than dummy def-type.

        * tree-ssa-loop.c (gate_scev_const_prop): Return the value of
        flag_tree_scev_cprop.
        * common.opt (tree-scev-cprop): New flag.

        * tree-vect-transform.c (vect_create_destination_var): Use 'kind' in
        call to vect_get_new_vect_var.

Co-Authored-By: Victor Kaplansky <victork@il.ibm.com>
From-SVN: r121643
29 files changed:
gcc/ChangeLog
gcc/common.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/no-tree-scev-cprop-vect-iv-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/no-tree-scev-cprop-vect-iv-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/pr21591.c
gcc/testsuite/gcc.dg/vect/vect-14.c
gcc/testsuite/gcc.dg/vect/vect-27.c
gcc/testsuite/gcc.dg/vect/vect-29.c
gcc/testsuite/gcc.dg/vect/vect-dv-2.c
gcc/testsuite/gcc.dg/vect/vect-iv-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-iv-9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c
gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c
gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c
gcc/testsuite/gcc.dg/vect/vect.exp
gcc/tree-ssa-loop.c
gcc/tree-vect-analyze.c
gcc/tree-vect-transform.c
gcc/tree-vectorizer.c