Revision tags: llvmorg-21-init, llvmorg-19.1.7 |
|
#
ad38e24e |
| 13-Jan-2025 |
David Pagan <dave.pagan@amd.com> |
[clang][OpenMP] Add 'align' modifier for 'allocate' clause (#121814)
The 'align' modifier is now accepted in the 'allocate' clause. Added LIT tests covering codegen, PCH, template handling, and seri
[clang][OpenMP] Add 'align' modifier for 'allocate' clause (#121814)
The 'align' modifier is now accepted in the 'allocate' clause. Added LIT tests covering codegen, PCH, template handling, and serialization for 'align' modifier.
Added support for align-modifier to release notes.
Testing - New allocate modifier LIT tests. - OpenMP LIT tests. - check-all
show more ...
|
Revision tags: llvmorg-19.1.6 |
|
#
7c9404c2 |
| 13-Dec-2024 |
Ivan R. Ivanov <ivanov.i.aa@m.titech.ac.jp> |
[flang][OpenMP] Add frontend support for ompx_bare clause (#111106)
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
834dfd23 |
| 18-Nov-2024 |
Kazu Hirata <kazu@google.com> |
[Parse] Remove ParseDiagnostic.h (#116496)
This patch removes clang/Parse/ParseDiagnostic.h because it just
forwards to clang/Basic/DiagnosticParse.h.
|
#
e8c4842f |
| 12-Nov-2024 |
David Pagan <dave.pagan@amd.com> |
[clang][OpenMP][NFC] Move 'allocate' clause modifier parsing into fun… (#115775)
…ction
Parsing of 'allocate' clause modifier ('allocator') has been moved into
a separate function in anticipatio
[clang][OpenMP][NFC] Move 'allocate' clause modifier parsing into fun… (#115775)
…ction
Parsing of 'allocate' clause modifier ('allocator') has been moved into
a separate function in anticipation of adding another modifier
('align').
show more ...
|
#
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 |
|
#
4dd55c56 |
| 24-Oct-2024 |
Jay Foad <jay.foad@amd.com> |
[clang] Use {} instead of std::nullopt to initialize empty ArrayRef (#109399)
Follow up to #109133.
|
Revision tags: 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 |
|
#
13fa78c8 |
| 28-Aug-2024 |
Mike Rice <michael.p.rice@intel.com> |
[OpenMP][NFC] Remove executable cases from declaration switch (#106438)
The executable directives are handled earlier.
|
Revision tags: llvmorg-19.1.0-rc3 |
|
#
1c269929 |
| 10-Aug-2024 |
Shilei Tian <i@tianshilei.me> |
[Clang][Sema][OpenMP] Allow `thread_limit` to accept multiple expressions (#102715)
|
#
0c2ded67 |
| 06-Aug-2024 |
Shilei Tian <i@tianshilei.me> |
[NFC] Fix compile warning introduced in #99732
|
#
cee594cf |
| 06-Aug-2024 |
Shilei Tian <i@tianshilei.me> |
[Clang][Sema][OpenMP] Allow `num_teams` to accept multiple expressions (#99732)
By the OpenMP standard, `num_teams` clause can only accept one
expression (for now). In this patch, we extend it to a
[Clang][Sema][OpenMP] Allow `num_teams` to accept multiple expressions (#99732)
By the OpenMP standard, `num_teams` clause can only accept one
expression (for now). In this patch, we extend it to allow to accept
multiple expressions when it is used with `target teams ompx_bare`
construct. This will allow to launch a multi-dim grid, same as CUDA/HIP.
show more ...
|
#
31bb759d |
| 05-Aug-2024 |
Haojian Wu <hokein.wu@gmail.com> |
Fix an unused variable and -Wswitch warning after a42e515e3a9f3bb4e44389c097b89104d95b9b29
|
#
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 |
|
#
8470a23c |
| 25-Jul-2024 |
nicebert <110385235+nicebert@users.noreply.github.com> |
[OpenMP] Defaultmap: fixes scalar issue, adds all variable category (#99315)
Fixes issue with defaultmap where scalar isn't handled correctly for
present modifier. Adds all variable cateogry introd
[OpenMP] Defaultmap: fixes scalar issue, adds all variable category (#99315)
Fixes issue with defaultmap where scalar isn't handled correctly for
present modifier. Adds all variable cateogry introduced in OpenMP 5.2
and alters existing tests for error messages to check OpenMP 5.2
defaultmap messages.
show more ...
|
Revision tags: 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 ...
|
#
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 ...
|
#
e24a2129 |
| 26-Jun-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Shorten directive classification in ParseOpenMP (#94691)
Use directive categories to simplify long lists of `case` statements in
the OpenMP parser. This is a step towards avoiding d
[clang][OpenMP] Shorten directive classification in ParseOpenMP (#94691)
Use directive categories to simplify long lists of `case` statements in
the OpenMP parser. This is a step towards avoiding dependence on
explicitly specified sets of directives that can be expressed more
generically.
The upcoming OpenMP 6.0 will introduce many new combined directives, and
the more generically we handle directives, the easier the introduction
of the new standard will be.
---------
Co-authored-by: Alexey Bataev <a.bataev@outlook.com>
show more ...
|
#
5413a2bb |
| 24-Jun-2024 |
Mike Rice <michael.p.rice@intel.com> |
[clang][OpenMP] Fix error handling of the adjust_args clause (#94696)
Static verifier noticed the current code has logically dead code parsing
the clause where IsComma is assigned. Fix this and imp
[clang][OpenMP] Fix error handling of the adjust_args clause (#94696)
Static verifier noticed the current code has logically dead code parsing
the clause where IsComma is assigned. Fix this and improve the error
message received when a bad adjust-op is specified.
This will now be handled like 'map' where a nice diagnostic is given
with the correct values, then parsing continues on the next clause
reducing unhelpful diagnostics.
show more ...
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7 |
|
#
ce7b6709 |
| 30-May-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Simplify check for repeated clauses (#93611)
The `FirstClauses` is a vector of pointer-bool pairs, and the pointer
part of the pair is never used. Replace the vector with std::bitse
[clang][OpenMP] Simplify check for repeated clauses (#93611)
The `FirstClauses` is a vector of pointer-bool pairs, and the pointer
part of the pair is never used. Replace the vector with std::bitset, and
rename it to `SeenClauses` to make the purpose of it a bit clearer.
show more ...
|
#
ed35a92c |
| 30-May-2024 |
Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> |
[clang] Introduce target-specific `Sema` components (#93179)
This patch introduces `SemaAMDGPU`, `SemaARM`, `SemaBPF`, `SemaHexagon`,
`SemaLoongArch`, `SemaMIPS`, `SemaNVPTX`, `SemaPPC`, `SemaSyste
[clang] Introduce target-specific `Sema` components (#93179)
This patch introduces `SemaAMDGPU`, `SemaARM`, `SemaBPF`, `SemaHexagon`,
`SemaLoongArch`, `SemaMIPS`, `SemaNVPTX`, `SemaPPC`, `SemaSystemZ`,
`SemaWasm`. This continues previous efforts to split Sema up. Additional
context can be found in #84184 and #92682.
I decided to bundle target-specific components together because of their
low impact on `Sema`. That said, their impact on `SemaChecking.cpp` is
far from low, and I consider it a success.
Somewhat accidentally, I also moved Wasm- and AMDGPU-specific function
from `SemaDeclAttr.cpp`, because they were exposed in `Sema`. That went
well, and I consider it a success, too. I'd like to move the rest of
static target-specific functions out of `SemaDeclAttr.cpp` like we're
doing with built-ins in `SemaChecking.cpp` .
show more ...
|
#
9377412c |
| 29-May-2024 |
Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> |
[clang][OpenMP] Remove unused include of UniqueVector.h, NFC
|
Revision tags: llvmorg-18.1.6 |
|
#
874f511a |
| 17-May-2024 |
Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> |
[clang] Introduce `SemaCodeCompletion` (#92311)
This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefi
[clang] Introduce `SemaCodeCompletion` (#92311)
This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.
show more ...
|
#
3acc6919 |
| 13-May-2024 |
jyu2-git <jennifer.yu@intel.com> |
Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91821)
… (#90885)"
This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.
|
#
b0b6c16b |
| 13-May-2024 |
Michael Kruse <llvm-project@meinersbur.de> |
[Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)
Allow non-constants in the `sizes` clause such as
```
#pragma omp tile sizes(a)
for (int i = 0; i < n; ++i)
```
This is permitted s
[Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)
Allow non-constants in the `sizes` clause such as
```
#pragma omp tile sizes(a)
for (int i = 0; i < n; ++i)
```
This is permitted since tile was introduced in [OpenMP
5.1](https://www.openmp.org/spec-html/5.1/openmpsu53.html#x78-860002.11.9).
It is possible to sneak-in negative numbers at runtime as in
```
int a = -1;
#pragma omp tile sizes(a)
```
Even though it is not well-formed, it should still result in every loop
iteration to be executed exactly once, an invariant of the tile
construct that we should ensure. `ParseOpenMPExprListClause` is
extracted-out to be reused by the `permutation` clause of the
`interchange` construct. Some care was put into ensuring correct behavior
in template contexts.
show more ...
|