[PATCH] D55710: add pragmas to control Software Pipelining optimisation

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 31 07:06:13 PST 2018


aaron.ballman added a comment.

The docs are getting much closer -- just a few grammatical things left to fix, I believe.



================
Comment at: include/clang/Basic/AttrDocs.td:2582
 specified for the subsequent 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
-`language extensions
+interleaving, and unrolling to be enabled or disabled. Pipelining could be disabled.
+Vector width, interleave count, unrolling count, and the initiation interval for pipelining
----------------
Can you combine the new sentence with the previous one? `The directive allows vectorization, interleaving, pipelining, and unrolling to be enabled or disabled.`


================
Comment at: include/clang/Basic/AttrDocs.td:2657
+  is the number of cycles between two iterations of an unoptimized loop in
+  newly created schedule. New optimized loop is created such that a single iteration
+  of the loop executes in the same number of cycles as the initiation interval.
----------------
in newly created schedule -> in the newly created schedule

New optimized loop -> A new, optimized loop


================
Comment at: include/clang/Basic/AttrDocs.td:2662
+  ``#pragma clang loop pipeline and #pragma loop pipeline_initiation_interval``
+  could be used as hints for Software Pipelining optimization. The pragma is
+  placed immediately before a for, while, do-while, or c++11 range-based for
----------------
for Software Pipelining optimization. -> for the software pipelining optimization.


================
Comment at: include/clang/Basic/AttrDocs.td:2663
+  could be used as hints for Software Pipelining optimization. The pragma is
+  placed immediately before a for, while, do-while, or c++11 range-based for
+  loop.
----------------
or c++11 range-based for loop. -> or a C++11 range-based for loop.


================
Comment at: include/clang/Basic/AttrDocs.td:2666
+
+  Using ``#pragma clang loop pipeline(disable)`` avoids software pipelining
+  optimization. The disable state can only be specified:
----------------
avoids software -> avoids the software


================
Comment at: include/clang/Basic/AttrDocs.td:2678
+  the software pipeliner to try the specified initiation interval.
+  If schedule was found then the resulting loop iteration would have
+  specified cycle count. If schedule was not found then loop would stay
----------------
If schedule was found -> If a schedule was found


================
Comment at: include/clang/Basic/AttrDocs.td:2679
+  If schedule was found then the resulting loop iteration would have
+  specified cycle count. If schedule was not found then loop would stay
+  unchanged. The initiation interval must be a positive number
----------------
would have specified cycle count. -> would have the specified cycle count.

If schedule was not -> If a schedule was not
would stay -> remains


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55710/new/

https://reviews.llvm.org/D55710





More information about the cfe-commits mailing list