[llvm-commits] [llvm] r171470 - /llvm/trunk/docs/Vectorizers.rst

Nadav Rotem nrotem at apple.com
Fri Jan 4 09:49:45 PST 2013


Author: nadav
Date: Fri Jan  4 11:49:45 2013
New Revision: 171470

URL: http://llvm.org/viewvc/llvm-project?rev=171470&view=rev
Log:
Update the docs about the new unroll features.


Modified:
    llvm/trunk/docs/Vectorizers.rst

Modified: llvm/trunk/docs/Vectorizers.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/Vectorizers.rst?rev=171470&r1=171469&r2=171470&view=diff
==============================================================================
--- llvm/trunk/docs/Vectorizers.rst (original)
+++ llvm/trunk/docs/Vectorizers.rst Fri Jan  4 11:49:45 2013
@@ -35,6 +35,27 @@
 
 We plan to enable the Loop Vectorizer by default as part of the LLVM 3.3 release.
 
+Command line flags
+^^^^^^^^^^^^^^^^^^
+
+The loop vectorizer uses a cost model to decide on the optimal vectorization factor
+and unroll factor. However, users of the vectorizer can force the vectorizer to use
+specific values. Both 'clang' and 'opt' support the flags below.
+
+Users can control the vectorization SIMD width using the command line flag "-force-vector-width".
+
+.. code-block:: console
+
+  $ clang  -mllvm -force-vector-width=8 ...
+  $ opt -loop-vectorize -force-vector-width=8 ...
+
+Users can control the unroll factor using the command line flag "-force-vector-unroll"
+
+.. code-block:: console
+
+  $ clang  -mllvm -force-vector-unroll=2 ...
+  $ opt -loop-vectorize -force-vector-unroll=2 ...
+
 Features
 --------
 
@@ -226,13 +247,8 @@
     return sum;
   }
 
-At the moment the unrolling feature is not enabled by default and needs to be enabled
-in opt or clang using the following flag:
-
-.. code-block:: console
-
-  -force-vector-unroll=2 
-
+The Loop Vectorizer uses a cost model to decide when it is profitable to unroll loops.
+The decision to unroll the loop depends on the register pressure and the generated code size. 
 
 Performance
 -----------





More information about the llvm-commits mailing list