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

2019-01-04 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman closed this revision. aaron.ballman added a comment. I commit this in r350414, thank you for the patch! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 ___ cfe-commits mailing list

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

2019-01-03 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin added a comment. Thank you! Aaron, Could you integrate this patch, please? I do not have commit access yet. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 ___ cfe-commits mailing

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

2019-01-03 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM! Comment at: test/Sema/pragma-pipeline.cpp:3 + +#pragma clang loop pipeline(disable) /* expected-error {{expected unqualified-id}} */ +int main() {

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

2019-01-03 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked an inline comment as done. alexey.lapshin added inline comments. Comment at: test/Sema/pragma-pipeline.cpp:3 + +#pragma clang loop pipeline(disable) /* expected-error {{expected unqualified-id}} */ +int main() { aaron.ballman wrote: > I

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

2019-01-03 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: test/Sema/pragma-pipeline.cpp:3 + +#pragma clang loop pipeline(disable) /* expected-error {{expected unqualified-id}} */ +int main() { I think this error is pretty unfortunate -- it doesn't really help the user

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

2019-01-02 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 179933. alexey.lapshin added a comment. Thank you. I updated doc, splitted Parser test, added Sema tests. Please check it once more. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files:

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

2019-01-02 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. 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

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

2019-01-02 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 179843. alexey.lapshin added a comment. Thank you. addressed all grammar things. please check it once more. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files: include/clang/Basic/Attr.td

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

2019-01-02 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked an inline comment as done. alexey.lapshin added inline comments. 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

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

2018-12-31 Thread Aaron Ballman via Phabricator via cfe-commits
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

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

2018-12-24 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 179459. alexey.lapshin added a comment. please consider changes in AttrDocs.td CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

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

2018-12-24 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked 2 inline comments as done. alexey.lapshin added inline comments. 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

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

2018-12-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a reviewer: tonic. aaron.ballman added a subscriber: tonic. aaron.ballman added a comment. Adding @tonic as a reviewer, who may have suggestions on how to improve the documentation wording. Comment at: include/clang/Basic/AttrDocs.td:2655 + dependence

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

2018-12-21 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked 2 inline comments as done. alexey.lapshin added a comment. will correct all mistakes. please check explanations for the questions. Comment at: include/clang/Basic/AttrDocs.td:2655 + dependence violated. This constant interval(in cycles) between the start

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

2018-12-21 Thread Aaron Ballman via Phabricator via cfe-commits
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

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

2018-12-21 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 179248. alexey.lapshin added a comment. put a better link to doc CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

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

2018-12-20 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 179145. alexey.lapshin added a comment. update documentation section. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

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

2018-12-20 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked an inline comment as done. alexey.lapshin added inline comments. Comment at: include/clang/Basic/AttrDocs.td:2677-2678 +`language extensions +`_ +for further details,

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

2018-12-20 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/AttrDocs.td:2673 + +Check `Software pipelining`, `Modulo scheduling` to get more details on optimisation. + alexey.lapshin wrote: > aaron.ballman wrote: > > "Check" -- check where? Perhaps

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

2018-12-20 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked an inline comment as done. alexey.lapshin added inline comments. Comment at: include/clang/Basic/AttrDocs.td:2673 + +Check `Software pipelining`, `Modulo scheduling` to get more details on optimisation. + aaron.ballman wrote: > "Check" --

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

2018-12-20 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/AttrDocs.td:2673 + +Check `Software pipelining`, `Modulo scheduling` to get more details on optimisation. + "Check" -- check where? Perhaps "Search for" but I still don't think that's very

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

2018-12-19 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 178956. alexey.lapshin edited the summary of this revision. alexey.lapshin added a comment. Please consider this change: 1. addressed style issues and formatted patch with clang-format 2. renamed pragma pipeline_ii_count to

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

2018-12-17 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin added a comment. Ok, So thank you for the suggestions. I will implement that way. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 ___ cfe-commits mailing list

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

2018-12-17 Thread Hal Finkel via Phabricator via cfe-commits
hfinkel added inline comments. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State == Disable + /// pipeline_ii_count: try to pipeline loop for only 'Value' value

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

2018-12-17 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State == Disable + /// pipeline_ii_count: try to pipeline loop for only 'Value'

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

2018-12-17 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked an inline comment as done. alexey.lapshin added inline comments. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State == Disable + ///

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

2018-12-17 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State == Disable + /// pipeline_ii_count: try to pipeline loop for only 'Value'

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

2018-12-17 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin marked 2 inline comments as done. alexey.lapshin added a comment. Ok, I will address all issues. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State

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

2018-12-17 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: include/clang/Basic/Attr.td:2871-2872 /// distribute: attempt to distribute loop if State == Enable + /// pipeline: disable pipelining loop if State == Disable + /// pipeline_ii_count: try to pipeline loop for only 'Value'

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

2018-12-14 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin updated this revision to Diff 178264. alexey.lapshin added a comment. deleted small typo in CGLoopInfo.cpp CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55710/new/ https://reviews.llvm.org/D55710 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

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

2018-12-14 Thread Alexey Lapshin via Phabricator via cfe-commits
alexey.lapshin created this revision. alexey.lapshin added reviewers: bcahoon, kparzysz, aaron.ballman, arphaman, rsmith, marksl, yakush. Herald added a subscriber: zzheng. [PIPELINER] add two pragmas to control Software Pipelining optimisation. #pragma clang loop pipeline(disable)