diff options
author | Dorit Naishlos <dorit@il.ibm.com> | 2005-05-02 13:32:20 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2005-05-02 13:32:20 +0000 |
commit | c9eb94f4056b50419b1f233d128eaa21c70cdca2 (patch) | |
tree | 02e62d0f2dc67ad15d8640bef3aa214d4295b116 | |
parent | 5310bac6da16b88a13f5fe2070f2eede1e35b79f (diff) | |
download | gcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.zip gcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.tar.gz gcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.tar.bz2 |
* doc/passes.texi: Document vectorization pass.
From-SVN: r99094
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/doc/passes.texi | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 790c285..1da038f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-05-02 Dorit Naishlos <dorit@il.ibm.com> + + * doc/passes.texi: Document vectorization pass. + 2005-05-02 Kazu Hirata <kazu@cs.umass.edu> * tree-scalar-evolution.c (get_exit_conditions_rec, diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index fd4e323..f2aba6d9 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -399,6 +399,19 @@ The optimizations also use various utility functions contained in @file{tree-ssa-loop-manip.c}, @file{cfgloop.c}, @file{cfgloopanal.c} and @file{cfgloopmanip.c}. +Vectorization. This pass transforms loops to operate on vector types +instead of scalar types. Data parallelism across loop iterations is exploited +to group data elements from consecutive iterations into a vector and operate +on them in parallel. Depending on available target support the loop is +conceptually unrolled by a factor @code{VF} (vectorization factor), which is +the number of elements operated upon in parallel in each iteration, and the +@code{VF} copies of each scalar operation are fused to form a vector operation. +Additional loop transformations such as peeling and versioning may take place +to align the number of iterations, and to align the memory accesses in the loop. +The pass is implemented in @file{tree-vectorizer.c} (the main driver and general +utilities), @file{tree-vect-analyze.c} and @file{tree-vect-tranform.c}. +Analysis of data references is in @file{tree-data-ref.c}. + @item Tree level if-conversion for vectorizer This pass applies if-conversion to simple loops to help vectorizer. |