mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
Update the docs about the new unroll features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171470 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e503319874
commit
4aa55bbafa
@ -35,6 +35,27 @@ will only vectorize loops that do not require a major increase in code size.
|
|||||||
|
|
||||||
We plan to enable the Loop Vectorizer by default as part of the LLVM 3.3 release.
|
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
|
Features
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@ -226,13 +247,8 @@ to be used simultaneously.
|
|||||||
return sum;
|
return sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
At the moment the unrolling feature is not enabled by default and needs to be enabled
|
The Loop Vectorizer uses a cost model to decide when it is profitable to unroll loops.
|
||||||
in opt or clang using the following flag:
|
The decision to unroll the loop depends on the register pressure and the generated code size.
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
-force-vector-unroll=2
|
|
||||||
|
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
-----------
|
-----------
|
||||||
|
Loading…
Reference in New Issue
Block a user