[OpenMP] Add regression test: this verifies that only one call to the runtime for reduction is done in a combined construct with distribute, without simd, and with at least one pragma accepting reduction as a clause.
Feb 27 2018
Feb 22 2018
Feb 20 2018
Feb 1 2018
That's correct, debug printfs were reporting zero threads to be used in SPMD region instead of the actual number used.
Jan 31 2018
Jan 3 2018
Committed revision 321759.
Dec 4 2017
Committed revision 319696.
Nov 20 2017
Committed revision 318692.
Nov 17 2017
Nov 10 2017
Committed revision 317893.
Oct 4 2017
Committed revision 314905.
Sep 28 2017
May 3 2017
Committed revision 302031.
Apr 25 2017
Re-Committed revision 301340.
Apr 24 2017
Committed revision 301223.
[OpenMP] Refactor after split of original patch in two patches (sema and cg). Transform lambdas to static functions, where possible, define default constructors, format, and update against trunk.
Apr 19 2017
Committed revision 300802.
Apr 7 2017
Also reported by bbot slave:
Feb 17 2017
Committed revision r295497
Feb 15 2017
Address comments on initial patch after splitting. Added a dependency with sema patch.
Feb 13 2017
Feb 7 2017
I will split this patch into smaller patches, but I will keep this open in case I need to refer back to it: some of the changes that can go into independent patches require a justification and this patch shows it.
Thanks for your comments!
[OpenMP] Updating the patch to show full context
Feb 6 2017
Committed revision r294195
Feb 3 2017
Committed to r294026
Jan 31 2017
Jan 3 2017
Jul 13 2016
Committed revision 275282.
Committed revision 275271.
Jul 12 2016
[OpenMP] Add regression test for ast, remove 'brief's, and rebase.
[OpenMP] Add regression test to check correctness of ast building, remove 'brief's, and rebase.
Jul 11 2016
[OpenMP] Remove generation of capture (move to codegen) and rebase.
[OpenMP] Apply comments: remove creation of private variable and update regression tests to include references to pointers.
No positive tests for the construct
Jul 6 2016
[OpenMP] Remove 'brief' comment tags and change error report to standard 'expected' form.
Jul 5 2016
[OpenMP] Remove private variable creation from this patch as requested by comments and rebase.
Jun 30 2016
I think that Kelvin is right. This is what that sentence refers to:
int * bla = ..;
#pragma omp target data use_device_ptr(bla)
.. bla .. // <-- this is the 'reference' that sentence is about
[OpenMP] Delete trailing whitespaces in regression test file and rebase.
Yes, the purpose of these patches was to check correctness of code gen for the related clauses when targeting nvptx exclusively.
Since I wrote these tests, the base support changed to generate same code on host and any device type, and it seemed to me that the need for a differentiated regression test was not there any more (happy to be told otherwise).
Jun 27 2016
Resubmitted at revision 273884 after fixes.
Jun 24 2016
Committed revision 273705.
Thanks for the hint - I have updated the diff to use Context.getSizeType(). Please let me know if this is what you meant.
[OpenMP] Change type of distribute lower and upper bound fields to portable size_t (Context.getSizeType()).
Jun 23 2016
Thanks for these further comments. I have just updated the diff applying the suggestions.
[OpenMP] Address comments: emit statements in code gen as an inlined directive (no actual code gen, just a placeholder); change type of parallel outlined function parameters to pointer to enable casting in code gen to the right type, instead of inferring value from loop analysis.
Jun 22 2016
[OpenMP] Update patch to trunk and to reflect comments. Remove fields from OMPDistributeParallelFor class and will add them to the related code gen patch.
Thanks very much for the quick review. I am about to update the patch reflecting your comments and to the latest trunk.
Jun 21 2016
[OpenMP] Add regression test for distribute used as if-clause modifier and check that an error is generated
Jun 11 2016
Codegen of region bodies should not be specialized based on target.
Apr 28 2016
Committed revision 267972.
Apr 12 2016
[OPENMP] Remove unnecessary templating of function.
Great, thanks for the hint. I do much prefer your version of the function. I am updating the diff.
Apr 11 2016
[OPENMP] Remove template for intervening statement and only allow CompoundStmt.
Thanks for the review. I addressed your comment in a new version of the revision.
Samuel already reviewed the patch, as you can see in the message exchange. I am very happy to apply any design change you can think of.
Apr 4 2016
[OPENMP] Rebase patch on new support for codegen for teams in nvptx target. private and firstprivate clauses are now dealt with in the teams patch and this one only becomes regression tests.
Committed revision 265304.
Apr 1 2016
[OPENMP] Even though this patch was already accepted in its previous form, comments on depending patch D18286 (http://reviews.llvm.org/D18286) revealed that a new approach for this patch was necessary. Instead of committing something that I have to change anyway later on, I decided to provide a new version of this base patch. Please review it again and let me know about any comments you may have.
If I understand correctly the problem, I would like to add something on top of Samuel's comment.
My understanding is that Alexey is suggesting that we pass a reference type to kernels for every pointer input parameter, regardless of the actual type and data sharing attribute of the related variable. Ignore the remained of this comment if this is not the case.
Mar 25 2016
Simplify the search function and generalize by using a template.
Mar 24 2016
Thinking more carefully, I believe you are right - no, it is not. I guess we would not call at all shouldEmitInlinedTeamsDirective for the case of paralle.
Mar 22 2016
To make clear my comment I an updating the patch following Alexey's comment and modifying it to make it work.
You can see that now we have the following check:
CGM.getTarget().getTriple().getArch() == llvm::Triple::nvptx ||
CGM.getTarget().getTriple().getArch() == llvm::Triple::nvptx64
Mar 18 2016
Committed revision 263837.
Mar 16 2016
Update against trunk as dependence was committed to trunk.
Committed revision 263654.
Modify diff to reflect comments.
Mar 15 2016
Mar 11 2016
[OPENMP] Add missing check macros in regression test and remove reference to firstprivate (will come in next patch).
[OPENMP] Add testing for 32-bit arch
Mar 10 2016
I can actually add a regression test that checks that the compiler does not break when using a global in a teams region, even without declare target, if that is what is required here.