Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
435e5846 |
| 06-Nov-2024 |
David Pagan <dave.pagan@amd.com> |
[clang][OpenMP] Add 'allocator' modifier for 'allocate' clause. (#114883)
The 'allocator' modifier is now accepted in the 'allocate' clause. Added
LIT tests covering codegen, PCH, template handling
[clang][OpenMP] Add 'allocator' modifier for 'allocate' clause. (#114883)
The 'allocator' modifier is now accepted in the 'allocate' clause. Added
LIT tests covering codegen, PCH, template handling, and serialization
for 'allocator' modifier.
Added support for allocator-modifier to release notes.
Testing
- New allocate modifier LIT tests.
- OpenMP LIT tests.
- check-all
- relevant sollve_vv test cases
tests/5.2/scope/test_scope_allocate_construct.c
show more ...
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2 |
|
#
5b03efb8 |
| 09-Oct-2024 |
Michael Kruse <llvm-project@meinersbur.de> |
[Clang][OpenMP] Add permutation clause (#92030)
Add the permutation clause for the interchange directive which will be
introduced in the upcoming OpenMP 6.0 specification. A preview has been
publi
[Clang][OpenMP] Add permutation clause (#92030)
Add the permutation clause for the interchange directive which will be
introduced in the upcoming OpenMP 6.0 specification. A preview has been
published in
[Technical Report12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
show more ...
|
Revision tags: llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4 |
|
#
7e8aba2b |
| 02-Sep-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] `masked` and `master` are not capturing (#106787)
|
Revision tags: llvmorg-19.1.0-rc3 |
|
#
a42e515e |
| 05-Aug-2024 |
Julian Brown <julian.brown@amd.com> |
[OpenMP] OpenMP 5.1 "assume" directive parsing support (#92731)
This is a minimal patch to support parsing for "omp assume" directives.
These are meant to be hints to a compiler's optimisers: as su
[OpenMP] OpenMP 5.1 "assume" directive parsing support (#92731)
This is a minimal patch to support parsing for "omp assume" directives.
These are meant to be hints to a compiler's optimisers: as such, it is
legitimate (if not very useful) to ignore them. The patch builds on top
of the existing support for "omp assumes" directives (note spelling!).
Unlike the "omp [begin/end] assumes" directives, "omp assume" is
associated with a compound statement, i.e. it can appear within a
function. The "holds" assumption could (theoretically) be mapped onto
the existing builtin "__builtin_assume", though the latter applies to a
single point in the program, and the former to a range (i.e. the whole
of the associated compound statement).
This patch fixes sollve's OpenMP 5.1 "omp assume"-based tests.
show more ...
|
Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
5c93a94f |
| 19-Jul-2024 |
Michael Kruse <llvm-project@meinersbur.de> |
[Clang][OpenMP] Add interchange directive (#93022)
Add the interchange directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Repor
[Clang][OpenMP] Add interchange directive (#93022)
Add the interchange directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
show more ...
|
#
80865c01 |
| 18-Jul-2024 |
Michael Kruse <llvm-project@meinersbur.de> |
[Clang][OpenMP] Add reverse directive (#92916)
Add the reverse directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](ht
[Clang][OpenMP] Add reverse directive (#92916)
Add the reverse directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
---------
Co-authored-by: Alexey Bataev <a.bataev@outlook.com>
show more ...
|
#
9a7248a6 |
| 02-Jul-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Rewrite `getOpenMPCaptureRegions` in terms of leafs (#97110)
Replace the switch in `getOpenMPCaptureRegions` with a loop collecting
capture regions based on the constituent directiv
[clang][OpenMP] Rewrite `getOpenMPCaptureRegions` in terms of leafs (#97110)
Replace the switch in `getOpenMPCaptureRegions` with a loop collecting
capture regions based on the constituent directives.
---------
Co-authored-by: Alexey Bataev <a.bataev@outlook.com>
show more ...
|
#
deda50fd |
| 01-Jul-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Implement `isOpenMPCapturingDirective` (#97090)
Check if the given directive can capture variables, and thus needs a
captured statement.
Simplify some code using this function.
|
#
0ce801f9 |
| 29-Jun-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Implement `isOpenMPExecutableDirective` (#97089)
What is considered "executable" in clang differs slightly from the
OpenMP's "executable" category. In addition to the executable cat
[clang][OpenMP] Implement `isOpenMPExecutableDirective` (#97089)
What is considered "executable" in clang differs slightly from the
OpenMP's "executable" category. In addition to the executable category,
subsidiary directives, and OMPD_error are considered executable.
Implement a function that performs that check.
show more ...
|
Revision tags: 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 |
|
#
67c82d6f |
| 06-Mar-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[Frontend] Add leaf constructs and association to OpenMP/ACC directives (#83625)
Add members "leafConstructs" and "association" to .td describing
OpenMP/ACC directives. The naming follows the termi
[Frontend] Add leaf constructs and association to OpenMP/ACC directives (#83625)
Add members "leafConstructs" and "association" to .td describing
OpenMP/ACC directives. The naming follows the terminology used in the
OpenMP standard: a "leaf" construct is a construct that is itself not a
composition or a combination of other constructs, and "association" is
the source language construct to which the directive applies (e.g. loop,
block, etc.)
The tblgen-generated output then contains two additional functions
- getLeafConstructs(D), and
- getDirectiveAssociation(D)
plus "enum class Association", all in namespaces "llvm::omp" and
"llvm::acc".
Note: getLeafConstructs returns an empty sequence for a construct that
is itself a leaf construct.
Use the new functions to simplify a few OpenMP-related functions in
clang.
show more ...
|
Revision tags: 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 |
|
#
d033f51a |
| 26-Nov-2023 |
Sunil Kuravinakop <koops@hpe.com> |
[OpenMP] atomic compare fail : Parser & AST support
Diff Revision: https://reviews.llvm.org/D123235
|
#
ddfed815 |
| 20-Nov-2023 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit edd675ac283909397880f85ba68d0d5f99dc1be2.
This breaks clang build where every component is a shared library.
The fi
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit edd675ac283909397880f85ba68d0d5f99dc1be2.
This breaks clang build where every component is a shared library.
The file clang/lib/Basic/OpenMPKinds.cpp, which is a part of libclangBasic.so, uses `getOpenMPClauseName` which isn't:
/usr/bin/ld: CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o: in functio n `clang ::getOpenMPSimpleClauseTypeName(llvm::omp::Clause, unsigned int )': OpenMPKinds.cpp:(.text._ZN5clang29getOpenMPSimpleClauseTypeNameEN4llvm3o mp6ClauseEj+0x9b): undefined reference to `llvm::omp::getOpenMPClauseNam e(llvm::omp::Clause)'
show more ...
|
#
edd675ac |
| 20-Nov-2023 |
Sunil Kuravinakop <koops@hpe.com> |
[OpenMP] atomic compare fail : Parser & AST support
Diff Revision: https://reviews.llvm.org/D123235
|
Revision tags: llvmorg-17.0.5 |
|
#
a141a9fa |
| 08-Nov-2023 |
Mitch Phillips <mitchp@google.com> |
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit 086b65340cca2648a2a91a0a47d28c7d9bafd1e5.
Reason: Broke under -Werror. More details in https://reviews.llvm.org/D123
Revert "[OpenMP] atomic compare fail : Parser & AST support"
This reverts commit 086b65340cca2648a2a91a0a47d28c7d9bafd1e5.
Reason: Broke under -Werror. More details in https://reviews.llvm.org/D123235
show more ...
|
#
086b6534 |
| 07-Nov-2023 |
Sunil Kuravinakop <koops@hpe.com> |
[OpenMP] atomic compare fail : Parser & AST support
This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now.
Reviewed By: tianshilei1992, ABataev
Differentia
[OpenMP] atomic compare fail : Parser & AST support
This is a support for " #pragma omp atomic compare fail ". It has Parser & AST support for now.
Reviewed By: tianshilei1992, ABataev
Differential Revision: https://reviews.llvm.org/D123235
show more ...
|
Revision tags: 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 |
|
#
08bbff4a |
| 27-Aug-2023 |
Sandeep Kosuri <sandeepkosuri55@gmail.com> |
[OpenMP] Codegen support for thread_limit on target directive for host offloading
- This patch adds support for thread_limit clause on target directive according to OpenMP 51 [2.14.5] - The idea is
[OpenMP] Codegen support for thread_limit on target directive for host offloading
- This patch adds support for thread_limit clause on target directive according to OpenMP 51 [2.14.5] - The idea is to create an outer task for target region, when there is a thread_limit clause, and manipulate the thread_limit of task instead. This way, thread_limit will be applied to all the relevant constructs enclosed by the target region.
Differential Revision: https://reviews.llvm.org/D152054
show more ...
|
Revision tags: llvmorg-17.0.0-rc3 |
|
#
e4c7298b |
| 09-Aug-2023 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP 5.1] Parsing and Sema support for `scope` directive
structured-block
where clause is one of the following:
private(list) reduction([reduction-modifier ,] reduction-identifier : list) nowai
[OpenMP 5.1] Parsing and Sema support for `scope` directive
structured-block
where clause is one of the following:
private(list) reduction([reduction-modifier ,] reduction-identifier : list) nowait
Differential Revision: https://reviews.llvm.org/D157933
show more ...
|
Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
eb61bde8 |
| 02-Jul-2023 |
Dave Pagan <dave.pagan@amd.com> |
[OpenMP][CodeGen] Add codegen for combined 'loop' directives.
The loop directive is a descriptive construct which allows the compiler flexibility in how it generates code for the directive's associa
[OpenMP][CodeGen] Add codegen for combined 'loop' directives.
The loop directive is a descriptive construct which allows the compiler flexibility in how it generates code for the directive's associated loop(s). See OpenMP specification 5.2 [257:8-9].
Codegen added in this patch for the combined 'loop' directives are:
'target teams loop' -> 'target teams distribute parallel for' 'teams loop' -> 'teams distribute parallel for' 'target parallel loop' -> 'target parallel for' 'parallel loop' -> 'parallel for'
NOTE: The implementation of the 'loop' directive itself is unchanged.
Differential Revision: https://reviews.llvm.org/D145823
show more ...
|
#
085845a2 |
| 21-Jun-2023 |
Jennifer Yu <jennifer.yu@intel.com> |
[OMP5.2] Initial support for doacross clause.
|
Revision tags: 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 |
|
#
7c34e74c |
| 12-Dec-2022 |
Chi Chun Chen <chichun.chen@hpe.com> |
[OpenMP] Basic parse and sema support for modifiers in order clause
This patch gives basic parsing and semantic support for "modifiers" of order clause introduced in OpenMP 5.1 ( section 2.11.3 )
R
[OpenMP] Basic parse and sema support for modifiers in order clause
This patch gives basic parsing and semantic support for "modifiers" of order clause introduced in OpenMP 5.1 ( section 2.11.3 )
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D127855
show more ...
|
Revision tags: llvmorg-15.0.6 |
|
#
56c16601 |
| 18-Nov-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing/sema for 'strict' modifier with 'num_tasks' clause
This patch gives basic parsing and semantic analysis support for 'strict' modifier with 'num_tasks' clause of 'taskloop' c
[OpenMP] Initial parsing/sema for 'strict' modifier with 'num_tasks' clause
This patch gives basic parsing and semantic analysis support for 'strict' modifier with 'num_tasks' clause of 'taskloop' construct introduced in OpenMP 5.1 (section 2.12.2)
Differential Revision: https://reviews.llvm.org/D138328
show more ...
|
#
ab9eac76 |
| 18-Nov-2022 |
Fazlay Rabbi <fazlay.rabbi@intel.com> |
[OpenMP] Initial parsing/sema for 'strict' modifier with 'grainsize' clause
This patch gives basic parsing and semantic analysis support for 'strict' modifier with 'grainsize' clause of 'taskloop' c
[OpenMP] Initial parsing/sema for 'strict' modifier with 'grainsize' clause
This patch gives basic parsing and semantic analysis support for 'strict' modifier with 'grainsize' clause of 'taskloop' construct introduced in OpenMP 5.1 (section 2.12.2)
Differential Revision: https://reviews.llvm.org/D138217
show more ...
|
#
1e054e6b |
| 16-Nov-2022 |
Jennifer Yu <jennifer.yu@intel.com> |
[OPENMP5.1] Initial support for severity clause
Differential Revision:https://reviews.llvm.org/D138227
|
Revision tags: llvmorg-15.0.5 |
|
#
628fdc3f |
| 11-Nov-2022 |
Jennifer Yu <jennifer.yu@intel.com> |
[OPENMP]Initial support for at clause
Error directive is allowed in both declared and executable contexts. The function ActOnOpenMPAtClause is called in both places during the parsers.
Adding a par
[OPENMP]Initial support for at clause
Error directive is allowed in both declared and executable contexts. The function ActOnOpenMPAtClause is called in both places during the parsers.
Adding a param "bool InExContext" to identify context which is used to emit error massage.
Differential Revision: https://reviews.llvm.org/D137851
show more ...
|
Revision tags: llvmorg-15.0.4 |
|
#
ea64e66f |
| 01-Nov-2022 |
Jennifer Yu <jennifer.yu@intel.com> |
[OPENMP]Initial support for error directive.
Differential Revision: https://reviews.llvm.org/D137209
|