* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees.
commitc91e822398d80d51e7b0e0884fa3e8c7c32d6ae7
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2004 16:17:14 +0000 (17 16:17 +0000)
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2004 16:17:14 +0000 (17 16:17 +0000)
tree49effbb8670b04dbfb66de531c733c3e4389a525
parent867fd9060f9bdfef84dbea3354f5747c94d60a13
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86131 138bc75d-0d04-0410-961f-82ee72b054a4
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]