* doc/passes.texi: Document vectorization pass.
authorDorit Naishlos <dorit@il.ibm.com>
Mon, 2 May 2005 13:32:20 +0000 (13:32 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Mon, 2 May 2005 13:32:20 +0000 (13:32 +0000)
From-SVN: r99094

gcc/ChangeLog
gcc/doc/passes.texi

index 790c285bbd0ee67c306ae94f34c320aa118d7316..1da038fd76dfe41a1f357f3479aec325eef99dc4 100644 (file)
@@ -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,
index fd4e323d90a73e6fbdd7b52a35f332b990ce1f3e..f2aba6d975865f56037eff6df37eb28ed9ac7d62 100644 (file)
@@ -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.