[llvm-branch-commits] [cfe-branch] r216954 - Update docs.
Bill Wendling
isanbard at gmail.com
Tue Sep 2 14:29:19 PDT 2014
Author: void
Date: Tue Sep 2 16:29:19 2014
New Revision: 216954
URL: http://llvm.org/viewvc/llvm-project?rev=216954&view=rev
Log:
Update docs.
Modified:
cfe/branches/release_35/docs/LanguageExtensions.rst
cfe/branches/release_35/docs/ReleaseNotes.rst
Modified: cfe/branches/release_35/docs/LanguageExtensions.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/LanguageExtensions.rst?rev=216954&r1=216953&r2=216954&view=diff
==============================================================================
--- cfe/branches/release_35/docs/LanguageExtensions.rst (original)
+++ cfe/branches/release_35/docs/LanguageExtensions.rst Tue Sep 2 16:29:19 2014
@@ -1787,12 +1787,8 @@ Extensions for loop hint optimizations
The ``#pragma clang loop`` directive is used to specify hints for optimizing the
subsequent for, while, do-while, or c++11 range-based for loop. The directive
-provides options for vectorization, interleaving, and unrolling. Loop hints can
-be specified before any loop and will be ignored if the optimization is not safe
-to apply.
-
-Vectorization and Interleaving
-------------------------------
+provides options for vectorization and interleaving. Loop hints can be specified
+before any loop and will be ignored if the optimization is not safe to apply.
A vectorized loop performs multiple iterations of the original loop
in parallel using vector instructions. The instruction set of the target
@@ -1835,46 +1831,6 @@ width/count of the set of target archite
Specifying a width/count of 1 disables the optimization, and is equivalent to
``vectorize(disable)`` or ``interleave(disable)``.
-Loop Unrolling
---------------
-
-Unrolling a loop reduces the loop control overhead and exposes more
-opportunities for ILP. Loops can be fully or partially unrolled. Full unrolling
-eliminates the loop and replaces it with an enumerated sequence of loop
-iterations. Full unrolling is only possible if the loop trip count is known at
-compile time. Partial unrolling replicates the loop body within the loop and
-reduces the trip count.
-
-If ``unroll(enable)`` is specified the unroller will attempt to fully unroll the
-loop if the trip count is known at compile time. If the loop count is not known
-or the fully unrolled code size is greater than the limit specified by the
-`-pragma-unroll-threshold` command line option the loop will be partially
-unrolled subject to the same limit.
-
-.. code-block:: c++
-
- #pragma clang loop unroll(enable)
- for(...) {
- ...
- }
-
-The unroll count can be specified explicitly with ``unroll_count(_value_)`` where
-_value_ is a positive integer. If this value is greater than the trip count the
-loop will be fully unrolled. Otherwise the loop is partially unrolled subject
-to the `-pragma-unroll-threshold` limit.
-
-.. code-block:: c++
-
- #pragma clang loop unroll_count(8)
- for(...) {
- ...
- }
-
-Unrolling of a loop can be prevented by specifying ``unroll(disable)``.
-
-Additional Information
-----------------------
-
For convenience multiple loop hints can be specified on a single line.
.. code-block:: c++
Modified: cfe/branches/release_35/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/ReleaseNotes.rst?rev=216954&r1=216953&r2=216954&view=diff
==============================================================================
--- cfe/branches/release_35/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_35/docs/ReleaseNotes.rst Tue Sep 2 16:29:19 2014
@@ -184,17 +184,9 @@ New Pragmas in Clang
-----------------------
Loop optimization hints can be specified using the new `#pragma clang loop`
-directive just prior to the desired loop. The directive allows vectorization,
-interleaving, and unrolling to be enabled or disabled. Vector width as well
-as interleave and unrolling count can be manually specified. See
-:ref:`langext-pragma-loop` for details.
-
-Clang now supports the `#pragma unroll` directive to specify loop unrolling
-optimization hints. Placed just prior to the desired loop, `#pragma unroll`
-directs the loop unroller to attempt to fully unroll the loop. The pragma may
-also be specified with a positive integer parameter indicating the desired
-unroll count: `#pragma unroll _value_`. The unroll count parameter can be
-optionally enclosed in parentheses.
+directive just prior to the desired loop. The directive allows vectorization and
+interleaving to be enabled or disabled. Vector width as well as interleave count
+can be manually specified. See :ref:`langext-pragma-loop` for details.
C Language Changes in Clang
---------------------------
More information about the llvm-branch-commits
mailing list