This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PING^2 for vectorization and toplevel patches [doc patch]
- From: Roger Sayle <roger at eyesopen dot com>
- To: Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- Date: Wed, 27 Apr 2005 09:50:28 -0600 (MDT)
- Subject: 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
--