aboutsummaryrefslogtreecommitdiffstats
path: root/docs/Vectorizers.rst
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-04-15 22:21:25 +0000
committerNadav Rotem <nrotem@apple.com>2013-04-15 22:21:25 +0000
commit3fe91a4453cad041f038398de978679106b5ed67 (patch)
tree578fc26c6f7d7ca01a8e7e3d7a38658e373a4525 /docs/Vectorizers.rst
parent96e0b96a9104a4df0bb3e19f91c1493db2b7ab44 (diff)
downloadexternal_llvm-3fe91a4453cad041f038398de978679106b5ed67.zip
external_llvm-3fe91a4453cad041f038398de978679106b5ed67.tar.gz
external_llvm-3fe91a4453cad041f038398de978679106b5ed67.tar.bz2
Fix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizers have (top-down and bottom-up).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179566 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/Vectorizers.rst')
-rw-r--r--docs/Vectorizers.rst8
1 files changed, 5 insertions, 3 deletions
diff --git a/docs/Vectorizers.rst b/docs/Vectorizers.rst
index d5c286a..d565c21 100644
--- a/docs/Vectorizers.rst
+++ b/docs/Vectorizers.rst
@@ -5,11 +5,11 @@ Auto-Vectorization in LLVM
.. contents::
:local:
-LLVM has two kind vectorizers: The :ref:`Loop Vectorizer <loop-vectorizer>`,
+LLVM has two vectorizers: The :ref:`Loop Vectorizer <loop-vectorizer>`,
which operates on Loops, and the :ref:`SLP Vectorizer
<slp-vectorizer>`, which optimizes straight-line code. These vectorizers
focus on different optimization opportunities and use different techniques.
-The BB vectorizer merges multiple scalars that are found in the code into
+The SLP vectorizer merges multiple scalars that are found in the code into
vectors while the Loop Vectorizer widens instructions in the original loop
to operate on multiple consecutive loop iterations.
@@ -318,6 +318,8 @@ into vector operations.
A[1] = a2*(a2 + b2)/b2 + 50*b2/a2;
}
+The SLP-vectorizer has two phases, bottom-up, and top-down. The top-down vectorization
+phase is more aggressive, but takes more time to run.
Usage
------
@@ -329,7 +331,7 @@ through clang using the command line flag:
$ clang -fslp-vectorize file.c
-LLVM has a second phase basic block vectorization phase
+LLVM has a second basic block vectorization phase
which is more compile-time intensive (The BB vectorizer). This optimization
can be enabled through clang using the command line flag: