aboutsummaryrefslogtreecommitdiffstats
path: root/docs/Vectorizers.rst
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-08-05 04:27:34 +0000
committerNadav Rotem <nrotem@apple.com>2013-08-05 04:27:34 +0000
commit055028f6c805b089d10984ec691aa637cf21dc42 (patch)
tree2069ec8659184f4d6479c707b702029994ec5fe6 /docs/Vectorizers.rst
parent25278aa26fa498e41830946b2138f01473269df2 (diff)
downloadexternal_llvm-055028f6c805b089d10984ec691aa637cf21dc42.zip
external_llvm-055028f6c805b089d10984ec691aa637cf21dc42.tar.gz
external_llvm-055028f6c805b089d10984ec691aa637cf21dc42.tar.bz2
Update the docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187713 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/Vectorizers.rst')
-rw-r--r--docs/Vectorizers.rst32
1 files changed, 6 insertions, 26 deletions
diff --git a/docs/Vectorizers.rst b/docs/Vectorizers.rst
index 221fb29..61ebca2 100644
--- a/docs/Vectorizers.rst
+++ b/docs/Vectorizers.rst
@@ -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
to operate on multiple consecutive iterations.
+Both the Loop Vectorizer and the SLP Vectorizer are enabled by default.
+
.. _loop-vectorizer:
The Loop Vectorizer
@@ -21,9 +23,8 @@ The Loop Vectorizer
Usage
-----
-LLVM's Loop Vectorizer is now enabled by default for -O3.
-We plan to enable parts of the Loop Vectorizer on -O2 and -Os in future releases.
-The vectorizer can be disabled using the command line:
+The Loop Vectorizer is enabled by default, but it can be disabled
+through clang using the command line flag:
.. code-block:: console
@@ -322,12 +323,12 @@ The SLP-vectorizer processes the code bottom-up, across basic blocks, in search
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:
.. code-block:: console
- $ clang -fslp-vectorize file.c
+ $ clang -fno-slp-vectorize file.c
LLVM has a second basic block vectorization phase
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
-
-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%
-======================= ============
-