tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
authorDorit Naishlos <dorit@il.ibm.com>
Tue, 17 Aug 2004 16:17:14 +0000 (16:17 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Tue, 17 Aug 2004 16:17:14 +0000 (16:17 +0000)
commit79fe1b3bd07343a1be36195a9053b582198a4123
tree49effbb8670b04dbfb66de531c733c3e4389a525
parentbaeff9708eb16a669c72cdebb32062ef1f6e6abc
tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.

        * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
        * tree-vectorizer.h: New File: Same.
        * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
        * common.opt (ftree-vectorize): New flag to enable vectorization.
        * timevar.def (TV_TREE_VECTORIZATION): New dump file for vectorization
        pass.
        * tree-data-ref.h (init_data_ref): Additional argument.
        (array_base_name_differ_p): Moved to tree-data-ref.c.
        * tree-data-ref.c (array_base_name_differ_p): Revised.
        (initialize_data_dependence_relation): Call array_base_name_differ_p
        with an extra argument.
        (analyze_all_data_dependences): Same.
        (init_data_ref): Additional argument is_read to set DR_IS_READ.
        * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this file.
        * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
        * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
        * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
        vectorization pass.
        * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
        (tree_ssa_loop_done): Call scev_finalize.
        (tree_vectorize): Define the new vectorization pass.
        * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the size of
        the vector they support (until support for multiple vector sizes is
        added to the vectorizer).
        * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
        * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
        * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
        documentation.

From-SVN: r86131
81 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/defaults.h
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr16105.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/tree-vect.h [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-12.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-13.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-14.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-15.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-16.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-17.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-18.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-19.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-20.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-21.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-22.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-23.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-24.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-25.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-26.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-27.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-28.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-29.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-30.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-31.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-32.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-33.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-34.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-35.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-36.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-37.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-38.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-40.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-41.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-42.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-43.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-44.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-45.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-46.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-47.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-48.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-49.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-50.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-51.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-52.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-53.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-54.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-55.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-56.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-57.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-58.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-59.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-60.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-61.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-all.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-none.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect.exp [new file with mode: 0644]
gcc/timevar.def
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-flow.h
gcc/tree-optimize.c
gcc/tree-pass.h
gcc/tree-ssa-loop.c
gcc/tree-ssa-phiopt.c
gcc/tree-vectorizer.c [new file with mode: 0644]
gcc/tree-vectorizer.h [new file with mode: 0644]