Skip to content

Conversation

@zahiraam
Copy link
Contributor

@zahiraam zahiraam commented Nov 6, 2025

Add basic parsing and semantic support for transparent clause for task andtaskloop directives described in Section 17.9.6 of https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf .

@github-actions
Copy link

github-actions bot commented Nov 6, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@zahiraam

This comment was marked as outdated.

@Meinersbur

This comment was marked as outdated.

@zahiraam

This comment was marked as outdated.

@zahiraam

This comment was marked as outdated.

@zahiraam

This comment was marked as outdated.

@zahiraam zahiraam marked this pull request as ready for review November 17, 2025 20:37
@zahiraam

This comment was marked as outdated.

@Meinersbur

This comment was marked as outdated.

kparzysz

This comment was marked as outdated.

@kparzysz

This comment was marked as outdated.

@zahiraam

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

kparzysz

This comment was marked as outdated.

@zahiraam

This comment was marked as outdated.

@alexey-bataev
Copy link
Member

Do we have support for this in runtime library? If not, this definitely requires initial support in runtime at first

@zahiraam
Copy link
Contributor Author

Do we have support for this in runtime library? If not, this definitely requires initial support in runtime at first

No. Should the runtime change be a preliminary PR to this one? I am assuming that a Transparent flag needs to be added to kmp_tasking_flags.

@zahiraam

This comment was marked as outdated.

@zahiraam
Copy link
Contributor Author

Runtime changes proposed here: #168873

@alexey-bataev Would adding the flag in #168873 be enough for this PR to be merged?

zahiraam added a commit that referenced this pull request Nov 21, 2025
…168873)

Clang is adding support for the new `OpenMP transparent` clause on
`task` and `taskloop` directives.
The parsing and semantic handling for this clause is introduced in
#166810 .
To allow the compiler to communicate this clause to the `OpenMP`
runtime, a dedicated bit in `kmp_tasking_flags` is required.
This patch adds a new compiler-reserved bit `transparent` to the`
kmp_tasking_flags` structure.
@Meinersbur
Copy link
Member

The flang changes are actually not correct---what was there before was. The transparent clause takes an expression, not a constant.

Tht's is correct, it takes an "expression of OpenMP impex type" (not a keyword), which is an enum value.
image
so the following is possible:

void func(omp_impex_t arg) {
  #pragma omp task transparent(arg)
    ...

llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Nov 21, 2025
…ing_flags (#168873)

Clang is adding support for the new `OpenMP transparent` clause on
`task` and `taskloop` directives.
The parsing and semantic handling for this clause is introduced in
llvm/llvm-project#166810 .
To allow the compiler to communicate this clause to the `OpenMP`
runtime, a dedicated bit in `kmp_tasking_flags` is required.
This patch adds a new compiler-reserved bit `transparent` to the`
kmp_tasking_flags` structure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants