|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
ba02586f |
| 21-Oct-2021 |
Vladimir Inđić <[email protected]> |
[OpenMP][OMPT][GOMP] task frame support in KMP_API_NAME_GOMP_PARALLEL_SECTIONS
KMP_API_NAME_GOMP_PARALLEL_SECTIONS function was missing the task frame support. This patch introduced a fix responsibl
[OpenMP][OMPT][GOMP] task frame support in KMP_API_NAME_GOMP_PARALLEL_SECTIONS
KMP_API_NAME_GOMP_PARALLEL_SECTIONS function was missing the task frame support. This patch introduced a fix responsible to set properly the exit_frame of the innermost implicit task that corresponds to the parallel section construct, as well as the enter_frame of the task that encloses the mentioned implicit task.
This patch also introduced a simple test case sections_serialized.c that contains serialized parallel section construct and validates whether the mentioned task frames are set correctly.
Differential Revision: https://reviews.llvm.org/D112205
show more ...
|
| #
99d1ce4a |
| 12-Oct-2021 |
Nawrin Sultana <[email protected]> |
[OpenMP] Add GOMP allocator functions
This patch adds GOMP_alloc and GOMP_free functions of LIBGOMP.
Differential revision: https://reviews.llvm.org/D111673
|
| #
5357a98c |
| 27-Sep-2021 |
@vladaindjic <[email protected]> |
[OpenMP] libomp: Usage of TASK_TIED constant inside kmp_gsupport.cpp
The minor code refactorization introduces the TASK_TIED constant inside kmp_gsupprot.cpp as a replacement for the literal value 1
[OpenMP] libomp: Usage of TASK_TIED constant inside kmp_gsupport.cpp
The minor code refactorization introduces the TASK_TIED constant inside kmp_gsupprot.cpp as a replacement for the literal value 1. The mentioned constant is now used in both kmp_tasking.cpp and kmp_gsupport.cpp files.
Differential Revision: https://reviews.llvm.org/D110441
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
258e27aa |
| 26-Aug-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Add support for GOMP depobj
GOMP depobjs are represented as a two intptr_t array. The first element is the base address of the dependency and the second element is the flag indicating the t
[OpenMP] Add support for GOMP depobj
GOMP depobjs are represented as a two intptr_t array. The first element is the base address of the dependency and the second element is the flag indicating the type the depobj represents.
Differential Revision: https://reviews.llvm.org/D108790
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
f61602b0 |
| 08-Jun-2021 |
Vignesh Balasubramanian <[email protected]> |
[OpenMP][OMPD] Implementation of OMPD debugging library - libompd.
This is the first of seven patches that implements OMPD, a debugging interface to support debugging of OpenMP programs. It contains
[OpenMP][OMPD] Implementation of OMPD debugging library - libompd.
This is the first of seven patches that implements OMPD, a debugging interface to support debugging of OpenMP programs. It contains support code required in "openmp/runtime" for OMPD implementation.
Reviewed By: @hbae Differential Revision: https://reviews.llvm.org/D100181
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
44575657 |
| 15-Mar-2021 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Implement GOMP task reductions
Implement the remaining GOMP_* functions to support task reductions in taskgroup, parallel, loop, and taskloop constructs. The unused mem argument to many of
[OpenMP] Implement GOMP task reductions
Implement the remaining GOMP_* functions to support task reductions in taskgroup, parallel, loop, and taskloop constructs. The unused mem argument to many of the work-sharing constructs has to do with the scan() directive/ inscan() modifier. If mem is set, each function will call KMP_FATAL() and tell the user scan/inscan is unsupported. The GOMP reduction implementation is kept separate from our implementation because of how GOMP presents reduction data and computes the reductions. GOMP expects the privatized copies to be present even after a #pragma omp parallel reduction(task:...) region has ended so the data is stored inside GOMP's uintptr_t* data pseudo-structure. This style is tightly coupled with GCC compiler codegen. There also isn't any init(), combiner(), fini() functions in GOMP's codegen so the two implementations were to disparate to try to wrap GOMP's around our own.
Differential Revision: https://reviews.llvm.org/D98806
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
97d000cf |
| 05-Mar-2021 |
tlwilmar <[email protected]> |
Added API for "masked" construct via two entrypoints: __kmpc_masked, and __kmpc_end_masked. The "master" construct is deprecated. Changed proc-bind keyword from "master" to "primary". Use of both mas
Added API for "masked" construct via two entrypoints: __kmpc_masked, and __kmpc_end_masked. The "master" construct is deprecated. Changed proc-bind keyword from "master" to "primary". Use of both master construct and master as proc-bind keyword is still allowed, but deprecated.
Remove references to "master" in comments and strings, and replace with "primary" or "primary thread". Function names and variables were not touched, nor were references to deprecated master construct. These can be updated over time. No new code should refer to master.
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
309b00a4 |
| 20-Feb-2021 |
Shilei Tian <[email protected]> |
[OpenMP][NFC] clang-format the whole openmp project
Same script as D95318. Test files are excluded.
Reviewed By: AndreyChurbanov
Differential Revision: https://reviews.llvm.org/D97088
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
| #
6b316feb |
| 30-Dec-2020 |
Terry Wilmarth <[email protected]> |
[OpenMP] libomp: Handle implicit conversion warnings
This patch partially prepares the runtime source code to be built with -Wconversion, which should trigger warnings if any implicit conversions ca
[OpenMP] libomp: Handle implicit conversion warnings
This patch partially prepares the runtime source code to be built with -Wconversion, which should trigger warnings if any implicit conversions can possibly change a value. For builds done with icc or gcc, all such warnings are handled in this patch. clang gives a much longer list of warnings, particularly for sign conversions, which the other compilers don't report. The -Wconversion flag is commented into cmake files, but I'm not going to turn it on. If someone thinks it is important, and wants to fix all the clang warnings, they are welcome to.
Types of changes made here involve either improving the consistency of types used so that no conversion is needed, or else performing careful explicit conversions, when we're sure a problem won't arise.
Patch is a combination of changes by Terry Wilmarth and Johnny Peyton.
Differential Revision: https://reviews.llvm.org/D92942
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
a148216b |
| 26-Nov-2020 |
Joachim Protze <[email protected]> |
[OpenMP][OMPT] Fix OMPT return address guard for gomp interface
D91692 missed various locations in kmp_gsupport, where the scope for OMPT_STORE_RETURN_ADDRESS is too narrow, i.e. the scope ends befo
[OpenMP][OMPT] Fix OMPT return address guard for gomp interface
D91692 missed various locations in kmp_gsupport, where the scope for OMPT_STORE_RETURN_ADDRESS is too narrow, i.e. the scope ends before the OMPT callback is called in some nested function.
This patch fixes the scoping issue, so that all OMPT tests pass, when the tests are built with gcc.
Differential Revision: https://reviews.llvm.org/D92121
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
6d3b8166 |
| 18-Nov-2020 |
Joachim Protze <[email protected]> |
[OpenMP][OMPT] Introduce a guard to handle OMPT return address
This is an alternative approach to address inconsistencies pointed out in: D90078 This patch makes sure that the return address is rese
[OpenMP][OMPT] Introduce a guard to handle OMPT return address
This is an alternative approach to address inconsistencies pointed out in: D90078 This patch makes sure that the return address is reset, when leaving the scope. In some cases, I had to move the macro out of an if-statement to have it in the right scope, in some cases I added an additional block to restrict the scope.
This patch does not handle inconsistencies, which might occur if the return address is still set when we call into the application.
Test case (repeated_calls.c) provided by @hbae
Differential Revision: https://reviews.llvm.org/D91692
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6 |
|
| #
6104b304 |
| 30-Sep-2020 |
Joachim Protze <[email protected]> |
[OpenMP][OMPT] Update OMPT tests for newly added GOMP interface patches
This patch updates the expected results for the GOMP interface patches: D87267, D87269, and D87271. The taskwait-depend test i
[OpenMP][OMPT] Update OMPT tests for newly added GOMP interface patches
This patch updates the expected results for the GOMP interface patches: D87267, D87269, and D87271. The taskwait-depend test is changed to really use taskwait-depend and copied to an task_if0-depend test.
To pass the tests, the handling of the return address was fixed.
Differential Revision: https://reviews.llvm.org/D87680
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
ee1c04a9 |
| 07-Sep-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Fix if0 task with dependencies in the runtime
The current GOMP interface for serialized tasks does not take into account task dependencies. Add the check and wait for dependencies.
Fixes:
[OpenMP] Fix if0 task with dependencies in the runtime
The current GOMP interface for serialized tasks does not take into account task dependencies. Add the check and wait for dependencies.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=46573
Differential Revision: https://reviews.llvm.org/D87271
show more ...
|
| #
9089b4a5 |
| 07-Sep-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Introduce GOMP taskwait depend in the runtime
This change introduces the GOMP_taskwait_depend() function. It implements the OpenMP 5.0 feature of #pragma omp taskwait with depend() clause b
[OpenMP] Introduce GOMP taskwait depend in the runtime
This change introduces the GOMP_taskwait_depend() function. It implements the OpenMP 5.0 feature of #pragma omp taskwait with depend() clause by wrapping around __kmpc_omp_wait_deps().
Differential Revision: https://reviews.llvm.org/D87269
show more ...
|
| #
72ada5ae |
| 07-Sep-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Introduce GOMP mutexinoutset in the runtime
Encapsulate GOMP task dependencies in separate class and introduce the new mutexinoutset dependency type. This separate class allows future GOMP
[OpenMP] Introduce GOMP mutexinoutset in the runtime
Encapsulate GOMP task dependencies in separate class and introduce the new mutexinoutset dependency type. This separate class allows future GOMP task APIs easier access to the task dependency functionality and better ability to propagate new dependency types to all existing GOMP task APIs which use task dependencies.
Differential Revision: https://reviews.llvm.org/D87267
show more ...
|
| #
ea34d95e |
| 03-Sep-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Introduce GOMP teams support in runtime
Implement GOMP_teams_reg() function which enables GOMP support of the standalone teams construct. The GOMP_parallel* functions were modified to call
[OpenMP] Introduce GOMP teams support in runtime
Implement GOMP_teams_reg() function which enables GOMP support of the standalone teams construct. The GOMP_parallel* functions were modified to call __kmp_fork_call() unconditionally so that the teams-specific code could be reused within __kmp_fork_call() instead of reproduced inside the GOMP_* functions.
Differential Revision: https://reviews.llvm.org/D87167
show more ...
|
| #
cde8f4c1 |
| 22-Aug-2020 |
Dimitry Andric <[email protected]> |
Move special va_list handling to kmp_os.h
Instead of copying and pasting the same `#ifdef` expressions in multiple places, define a type and a pair of macros in `kmp_os.h`, to handle whether `va_lis
Move special va_list handling to kmp_os.h
Instead of copying and pasting the same `#ifdef` expressions in multiple places, define a type and a pair of macros in `kmp_os.h`, to handle whether `va_list` is pointer-like or not:
* `kmp_va_list` is the type to use for `__kmp_fork_call()` * `kmp_va_deref()` dereferences a `va_list`, if necessary * `kmp_va_addr_of()` takes the address of a `va_list`, if necessary
Also add FreeBSD to the list of OSes that has a non pointer-like va_list. This can now be easily extended to other OSes too.
Reviewed By: AndreyChurbanov
Differential Revision: https://reviews.llvm.org/D86397
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
95a28df5 |
| 03-Feb-2020 |
Peyton, Jonathan L <[email protected]> |
[OpenMP] Add GOMP 5.0 loop entry points
This patch adds missing GOMP_5.0 loop entry points which incorporate new non-monotonic default into entry point name. Since monotonic schedules are a subset
[OpenMP] Add GOMP 5.0 loop entry points
This patch adds missing GOMP_5.0 loop entry points which incorporate new non-monotonic default into entry point name. Since monotonic schedules are a subset of nonmonotonic, it is acceptable to use monotonic as the implementation. This patch simply has the nonmonotonic (and possibly non-monontonic) versions of the loop entry points as wrappers around the monotonic ones.
Differential Revision: https://reviews.llvm.org/D73922
show more ...
|
| #
42016791 |
| 04-Apr-2020 |
Kazuaki Ishizaki <[email protected]> |
[OpenMP] NFC: Fix trivial typo
Differential Revision: https://reviews.llvm.org/D77430
|
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init |
|
| #
4c6a098a |
| 07-Jan-2020 |
Kazuaki Ishizaki <[email protected]> |
[OpenMP] NFC: Fix trivial typos in comments
Reviewers: jdoerfert, Jim
Reviewed By: Jim
Subscribers: Jim, mgorny, guansong, jfb, openmp-commits
Tags: #openmp
Differential Revision: https://review
[OpenMP] NFC: Fix trivial typos in comments
Reviewers: jdoerfert, Jim
Reviewed By: Jim
Subscribers: Jim, mgorny, guansong, jfb, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D72285
show more ...
|
| #
ed5fe645 |
| 04-Jan-2020 |
Kelvin Li <[email protected]> |
[OpenMP] NFC: Fix trivial typos in comments
Submitted by: kiszk
Differential Revision: https://reviews.llvm.org/D72171
|
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
| #
4d77e50e |
| 15-Aug-2019 |
Jonas Hahnfeld <[email protected]> |
[OpenMP] Remove 'unnecessary parentheses'
The variables in kmp_lock.cpp are really arrays of function pointers that return void or int, not pointers to functions that return void* or int*. The other
[OpenMP] Remove 'unnecessary parentheses'
The variables in kmp_lock.cpp are really arrays of function pointers that return void or int, not pointers to functions that return void* or int*. The other changes are only cosmetic.
Differential Revision: https://reviews.llvm.org/D65870
llvm-svn: 369002
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc2 |
|
| #
73d5abd8 |
| 05-Aug-2019 |
Jonathan Peyton <[email protected]> |
[OpenMP] Add support for GOMP_*_nonmonotonic_* functions
Patch by Isuru Fernando
Differential Revision: https://reviews.llvm.org/D65714
llvm-svn: 367949
|
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init |
|
| #
e4b4f994 |
| 12-Jul-2019 |
Jonathan Peyton <[email protected]> |
[OpenMP] Remove OMP spec versioning
Remove all older OMP spec versioning from the runtime and build system.
Patch by Terry Wilmarth
Differential Revision: https://reviews.llvm.org/D64534
llvm-svn
[OpenMP] Remove OMP spec versioning
Remove all older OMP spec versioning from the runtime and build system.
Patch by Terry Wilmarth
Differential Revision: https://reviews.llvm.org/D64534
llvm-svn: 365963
show more ...
|
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3 |
|
| #
4fe5271f |
| 19-Feb-2019 |
Jonathan Peyton <[email protected]> |
[OpenMP] Adding GOMP compatible cancellation
Remove fatal error messages from the cancellation API for GOMP Add __kmp_barrier_gomp_cancel() to implement cancellation of parallel regions. This new fu
[OpenMP] Adding GOMP compatible cancellation
Remove fatal error messages from the cancellation API for GOMP Add __kmp_barrier_gomp_cancel() to implement cancellation of parallel regions. This new function uses the linear barrier algorithm with a cancellable nonsleepable wait loop.
Differential Revision: https://reviews.llvm.org/D57969
llvm-svn: 354367
show more ...
|