The patch enables OpenMP 4.1 macros and build (build.pl and CMake). It creates a new kind of tasks named proxy tasks which are not executed by OpenMP threads but OpenMP still needs to maintain its synchronization in between them and with other OpenMP tasks. The most dramatic changes relate to the fact that the RTL had some assumptions about serialization and tasking that are no longer true. tskm_immediate_exec is not supported by this patch. 4.1 headers were added, which are just copies of the 4.0 headers, but that is a large portion of this change.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
This LGTM. I'd prefer this be broken up into three commits:
- Makefile changes to add 4.1 support
- Header changes to add 4.1 support
- Adding task proxy / task full
runtime/src/kmp_barrier.cpp | ||
---|---|---|
1491 | The comment might also explain what 0 means too. |
Comment Actions
I've committed the patch in 3 parts:
rev. 236744 - new headers;
rev. 236746 - build changes;
rev. 236753 - code changes.
The comment might also explain what 0 means too.