Update the docs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187713 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nadav Rotem 2013-08-05 04:27:34 +00:00
parent 25278aa26f
commit 055028f6c8

View File

@ -13,6 +13,8 @@ The SLP vectorizer merges multiple scalars that are found in the code into
vectors while the Loop Vectorizer widens instructions in loops vectors while the Loop Vectorizer widens instructions in loops
to operate on multiple consecutive iterations. to operate on multiple consecutive iterations.
Both the Loop Vectorizer and the SLP Vectorizer are enabled by default.
.. _loop-vectorizer: .. _loop-vectorizer:
The Loop Vectorizer The Loop Vectorizer
@ -21,9 +23,8 @@ The Loop Vectorizer
Usage Usage
----- -----
LLVM's Loop Vectorizer is now enabled by default for -O3. The Loop Vectorizer is enabled by default, but it can be disabled
We plan to enable parts of the Loop Vectorizer on -O2 and -Os in future releases. through clang using the command line flag:
The vectorizer can be disabled using the command line:
.. code-block:: console .. code-block:: console
@ -322,12 +323,12 @@ The SLP-vectorizer processes the code bottom-up, across basic blocks, in search
Usage Usage
------ ------
The SLP Vectorizer is not enabled by default, but it can be enabled The SLP Vectorizer is enabled by default, but it can be disabled
through clang using the command line flag: through clang using the command line flag:
.. code-block:: console .. code-block:: console
$ clang -fslp-vectorize file.c $ clang -fno-slp-vectorize file.c
LLVM has a second basic block vectorization phase LLVM has a second basic block vectorization phase
which is more compile-time intensive (The BB vectorizer). This optimization which is more compile-time intensive (The BB vectorizer). This optimization
@ -337,24 +338,3 @@ can be enabled through clang using the command line flag:
$ clang -fslp-vectorize-aggressive file.c $ clang -fslp-vectorize-aggressive file.c
The SLP vectorizer is in early development stages but can already vectorize
and accelerate many programs in the LLVM test suite.
======================= ============
Benchmark Name Gain
======================= ============
Misc/flops-7 -32.70%
Misc/matmul_f64_4x4 -23.23%
Olden/power -21.45%
Misc/flops-4 -14.90%
ASC_Sequoia/AMGmk -13.85%
TSVC/LoopRerolling-flt -11.76%
Misc/flops-6 -9.70%
Misc/flops-5 -8.54%
Misc/flops -8.12%
TSVC/NodeSplitting-dbl -6.96%
Misc-C++/sphereflake -6.74%
Ptrdist/yacr2 -6.31%
======================= ============