This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PING^2 for vectorization and toplevel patches [doc patch]


On Wed, 27 Apr 2005, Dorit Naishlos wrote:
> Here is the missing documentation for the vectorization pass.

Hi Dorit,

This is OK for mainline with a suitable ChangeLog entry.  Thanks.

Whilst this patch is fine as it is (any documentation is better
than before :), you might consider rewording your introduction of
the technical term "strip-mining"; either by providing a short
definition the first time it's used or using an alternate phrase
such as "unrolled".  Whilst passes.texi has a higher expectation
of a technical compiler background that other parts of GCC's
documentation, it does no harm to lower the barrier for casual
readers.

Very many thanks for documenting this.

> + 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
> + strip-mined by a factor @code{VF} (vectorization factor) which is
> + the number of elements operated upon in parallel in each iteration.
> + 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}.

Roger
--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]