History log of /llvm-project/clang/lib/Parse/ParseOpenMP.cpp (Results 1 – 25 of 457)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12345678910>>...19