[PATCH] D55710: add pragmas to control Software Pipelining optimisation
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 21 11:43:41 PST 2018
aaron.ballman added inline comments.
================
Comment at: include/clang/Basic/AttrDocs.td:2650
+ Software Pipelining optimization is a technique used to optimize loops by
+ utilizing instructions level parallelism. It reorders loop instructions to
+ overlap iterations. As the result next iteration started before previous
----------------
instructions level -> instruction-level
================
Comment at: include/clang/Basic/AttrDocs.td:2651
+ utilizing instructions level parallelism. It reorders loop instructions to
+ overlap iterations. As the result next iteration started before previous
+ have finished. The Modulo Scheduling technique creates schedule for one
----------------
As a result, the next iteration starts before the previous iteration has finished.
================
Comment at: include/clang/Basic/AttrDocs.td:2652-2654
+ have finished. The Modulo Scheduling technique creates schedule for one
+ iteration such that when repeating at regular interval no inter-iteration
+ dependence violated. This constant interval(in cycles) between the start
----------------
The module scheduling technique creates a schedule for one iteration such that when repeating at regular intervals, no inter-iteration dependencies are violated.
================
Comment at: include/clang/Basic/AttrDocs.td:2655
+ dependence violated. This constant interval(in cycles) between the start
+ of iterations called initiation interval. Cycles number of one iteration
+ of newly generated loop matches with Initiation Interval. For further
----------------
is called the initiation interval.
I can't quite parse the second sentence, though. Is it trying to say that the initiation interval is the number of cycles for a single iteration of the optimized loop?
================
Comment at: include/clang/Basic/AttrDocs.td:2676
+ the software pipeliner to try the specified initiation interval.
+ If schedule found the resulting loop iteration would have specified
+ cycle count. The positive number greater than zero can be specified:
----------------
I'm can't quite parse this sentence either. Is it trying to say that the scheduler will try to find a loop iteration cycle count that most-closely matches the specified initiation interval?
================
Comment at: include/clang/Basic/AttrDocs.td:2677
+ If schedule found the resulting loop iteration would have specified
+ cycle count. The positive number greater than zero can be specified:
+
----------------
The initiation interval must be a positive number greater than zero.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55710/new/
https://reviews.llvm.org/D55710
More information about the cfe-commits
mailing list