aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2005-05-02 13:32:20 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2005-05-02 13:32:20 +0000
commitc9eb94f4056b50419b1f233d128eaa21c70cdca2 (patch)
tree02e62d0f2dc67ad15d8640bef3aa214d4295b116
parent5310bac6da16b88a13f5fe2070f2eede1e35b79f (diff)
downloadgcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.zip
gcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.tar.gz
gcc-c9eb94f4056b50419b1f233d128eaa21c70cdca2.tar.bz2
* doc/passes.texi: Document vectorization pass.
From-SVN: r99094
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doc/passes.texi13
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.