]> granicus.if.org Git - clang/commitdiff
Update docs.
authorBill Wendling <isanbard@gmail.com>
Tue, 2 Sep 2014 21:29:19 +0000 (21:29 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 2 Sep 2014 21:29:19 +0000 (21:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_35@216954 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LanguageExtensions.rst
docs/ReleaseNotes.rst

index fd55c4c399742f7254fa7df822542e0b7f50a9b2..35f759f4cf975015e5e7eb85acb7aa33a2dd68b9 100644 (file)
@@ -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 architectures supported by your application.
 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++
index c141c845eba3d39e9372d5963ef5f1d4c68a22cd..dc1c88b6fb3cbe02f1f18912d34c7bf450290fe3 100644 (file)
@@ -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
 ---------------------------