User Details
- User Since
- Oct 7 2021, 8:55 PM (102 w, 2 d)
Wed, Sep 6
Can someone please review the changes that I uploaded last week?
Thu, Aug 31
Using isOpenMPWorksharingDirective( ) for the "omp loop bind(parallel)" and "omp loop bind(teams)".
Added extra tests in loop_bind_messages.cpp.
Aug 18 2023
Aug 9 2023
Can someone please check for MacOS? Yesterday when this support was committed, the CHECK statements in tests loop_bind_codegen.cpp and loop_bind_enclosed.cpp had failed on Mac and I received a comment as follows:
When relanding, please remember to put a link to the review in the commit message.
I have made the CHECK statements generic enough to match those on Mac with CHECK for the functions that the test were expected.
Pulling in latest changes.
The patch uploaded 2 hours back was a wrong one (meant for another feature) and has been unrolled back with this patch.
Making the CHECK pattern generic to match platforms tested after committing changes.
Aug 8 2023
Hello Nico Weber,
Aug 7 2023
In clang/test/OpenMP/loop_bind_enclosed.cpp Generalizing the CHECK pattern for aarch64-linux, s390x-linux and ppc64le-linux.
Aug 4 2023
- Support for PCH Serilization/deserilization for the PrevMapLoopConstruct variable in OMPExecutableDirective.
- Modification of clang/test/PCH/pragma-loop.cpp to include "#pragma omp loop bind" with different parameters for bind clause.
Aug 1 2023
- clang/test/OpenMP/loop_bind_enclosed.cpp : Converting main and function names within it to use regular expressions to accomodate windows platform.
i) Instead of calling setMappedDirective() after the the creation of the Directive, made the MappedDirective a parameter of the Create() method.
ii) setMappedDirective() is called from the Directive::Create()
iii) The inheritance is : OMPExecutableDirective --> OMPLoopBasedDirective --> OMPLoopDirective --> OMPSimdDirective, from OMPSimdDirective constructor it involves a lot of changes to initialize PrevMappedDirective variable in OMPExecutableDirective starting from OMPSimdDirective, even if the variable is "protected". Hence we call setMappedDirective() from OMPSimdDirective::Create().
Jul 31 2023
- clang-format error in clang/include/clang/AST/StmtOpenMP.h corrected.
- Correcting clang/test/OpenMP/loop_bind_enclosed.cpp to use regular expressions for names of functions to accomodate names generated on Microsoft Windows.
Jul 27 2023
- Converting prevMapped to PrevMappedDirective
- Reducing the CHECK patterns in loop_bind_enclosed.cpp to the most essential ones to succeed matching for the IR generation on windows.
Correction for clang-format errors.
Jul 26 2023
Fixing Alexey's suggestions.
Moving the variable MappedDirective into structure SharingMapTy. Enough comments have been put in place to explain.
Modified some of the loop_bind tests to cater to windows and debian platform.
Jul 17 2023
- Removing the size for the template constructor, llvm::SmallVectorImpl<OMPClause *> &ClausesWithoutBind.
- In the diagnostic message of err_omp_bind_required_on_loop, using single quotes for the name 'loop' construct.
- Minor changes to the tests clang/test/OpenMP/loop_bind_codegen.cpp & clang/test/OpenMP/loop_bind_enclosed.cpp to use a generic pattern matching expression for the names & reducing some checks.
Jul 14 2023
Addressing Alexey's comments.
The name matching in loop_bind_messages.cpp & generic_loop_codegen.cpp tests changed to take care of the failures.
Jul 11 2023
- Taking care of Alexy & David suggestions: a) Using update_cc_test_checks.py to generate CHECK statements. b) Change in error message from "handled" to "allowed". c) Adding comments for the bind clause. d) Mangled names of the functions in the CHECK statements are more generic with regular expressions.
Jul 5 2023
Jun 8 2023
- Taken care of Alexy's comments.
- Reverting back changes to StmtPrinter.cpp because state of AST needs to be shown as is to the developer of clang when -ast-print/-ast-dump is used. This also meant some changes to the test cases to reflect the Mapped directives (from "omp loop" to "omp for", "omp distribute" or "omp simd").
May 31 2023
- Addition of extra test case loop_bind_enclosed.cpp.
- Changing of name from Map1D to MappedDirective
May 16 2023
However, generic_loop_messages.cpp & generic_loop_ast_print.cpp are present and provide a good coverage.
I rather doubt that these tests provide good coverage, since you're changing the directive kind here on the fly. This is a very new functionality, which was not tested before.
Add the tests for nesting of the regions, i.e. loop bind directive, enclosed in different regions, and diagnostics.
Apr 30 2023
- Taken care of some of the comments by Alexey.
- Added extra tests of loop_bind_messages.cpp
However, generic_loop_messages.cpp & generic_loop_ast_print.cpp are present and provide a good coverage.
Apr 16 2023
- Adding semantic test clang/test/OpenMP/loop_bind_messages.cpp.
- Changes suggested by Alexey.
- >Why need to drop bind clause here? The new Directives to which loop directive is being mapped to, do not contain the bind clause. (a) omp loop bind(parallel) ----> omp for (b) omp loop bind(teams) -----> omp distribute (c) omp loop bind(thread) ------> omp simd
Apr 12 2023
Apr 11 2023
Removing changes from :
- clang/include/clang/AST/StmtOpenMP.h
- clang/lib/AST/StmtOpenMP.cpp
- clang/include/clang/Parse/Parser.h
These were useful when the code was in CodeGen to handle the bind clause.
Moving the code to SemaOpenMP.cpp from CodeGen.
Mar 16 2023
- formatting
- Adding lit test
- Removing bind clause from the set of clauses passed during bind(parallel) to the OMPForDirective and bind(teams) to the OMPDistributeDirective.
Mar 6 2023
Feb 23 2023
bind(thread) is not working at present. I have uploaded this patch to obtain feedback mainly on this.
Jan 16 2023
Jan 12 2023
nowait clause on taskwait was marked as "part:done" because I have implemented the support for the clang compiler. The implementation for the runtime needs to be done and I have created a place holder for it. https://reviews.llvm.org/D131830 had the subject line " [OpenMP] Clang Support for taskwait nowait clause " .
Dec 20 2022
Taking care of :
- "The nowait clause may only appear on a taskwait directive if the depend clause is present.".
- "Please do not add any new tests using -no-opaque-pointers".
- Added a new test to expect failure for point 1.
Dec 10 2022
(There seems to be another unrelated regression at the same time though, regarding the symbol __kmpc_fork_call_if.)
I do not know about this regression. I have not touched this function.
Dec 9 2022
git pull & reloading the earlier patch.
Martin Storsjö (or anybody who works on windows) I have uploaded a new patch which has __kmpc_omp_taskwait_51 in dllexports. Can you please check the patch on windows?
Addition of __kmpc_omp_taskwait_51 in dllexports.
Dec 8 2022
Yes, I don't have commit rights. I have tried to reproduce the pre-merge check failures on RedHat and Ubuntu but, the tests don't fail.
No changes. Pulling in recent changes to trigger a rebuild.
Nov 27 2022
No Changes. Pulling in recent changes to trigger a rebuild.
Nov 15 2022
Changes for "Use CGF.Int32Ty" instead of CGF.IntTy.
Nov 14 2022
Can someone please review my latest changes?
Nov 7 2022
Changes for the suggestion : "Always use kmpc_omp_taskwait_51 and eliminate the old kmpc_omp_taskwait".
Oct 21 2022
Johannes Doerfert,
Most of your comments are related to avoiding having the kmpc_omp_taskwait_51( ) , in the runtime, and instead introduce a "nowait" related parameter in the kmpc_omp_taskwait( ) itself. I have explained earlier that kmpc_omp_taskwait_51( ) is a placeholder for introducing new code, at a later stage. The scheduling of tasks might change in the runtime due to "nowait" clause. I have done this with the sole purpose of having backward compatibility. If you feel that is not needed then I will remove the new code and modify the Code Generation also according to your comments.
Oct 19 2022
Changes for the build failure due to git-clang-format. Some minor changes are also because of git pull.
Sep 29 2022
Reply
The current patch has the following changes:
- "if" statement removed for Data.HasNowaitClause = S.hasClausesOfKind<OMPNowaitClause>();
- OpenMPVer replaced with OpenMPVersion.
Sep 28 2022
I seem to have made changes for all the feedback which were provided. Can someone please look at the changes I have uploaded?
Sep 22 2022
Contains changes suggested for:
Comment at: clang/lib/CodeGen/CGStmtOpenMP.cpp:5215
+ if (S.hasClausesOfKind<OMPNowaitClause>()) Data.HasNowaitClause = true;
Replaced with:
Data.HasNowaitClause = S.hasClausesOfKind<OMPNowaitClause>();
In the latest revision that was submitted the following changes were made:
- Changed HaveNoTaskWaitClause to HasNowaitClause.
- HasNowaitClause is now a data member of OMPTaskDataTy.
- OpenMPVer is now a data member of OpenMPIRBuilder.
Aug 16 2022
Aug 15 2022
Aug 12 2022
Jun 10 2022
Changes suggested by aaron.ballman to avoid failures on windows.
Jun 9 2022
Jun 8 2022
May 25 2022
Hello Kevin,
May 23 2022
Clang formatting for variables in ParseOpenMP.cpp
Fixing a minor error : clang formatting of variable names to avoid build errors.
May 20 2022
changes to support clang format.
May 19 2022
Further changes in the code to confirm to the clang format.
May 14 2022
I have tried on x64 RH and x64 SuSe. I could not reproduce the failures seen on x64 debian. https://reviews.llvm.org/D118550 also has similar failures on x64 debian. There is a comment " I think the test failures are spurious (but not 100% sure)" So, are these failures pre-existing before the changes in the current support for "atomic compare fail: Parser & Support" were done?
May 13 2022
Took care of the clang format.
Apr 20 2022
- changes in flang/lib/Semantics/check-omp-structure.cpp to avoid build failure
- prevent "requires" directive test from failing.
Apr 11 2022
Can I please have the detailed log for the build failures? I do not have the necessary setup to test those builds.