[Openmp-commits] [openmp] d36e2b6 - [OpenMP][libomp] Add transparent task flag bit to kmp_tasking_flags (#168873)
via Openmp-commits
openmp-commits at lists.llvm.org
Fri Nov 21 05:19:25 PST 2025
Author: Zahira Ammarguellat
Date: 2025-11-21T08:19:20-05:00
New Revision: d36e2b621fd9e3354cef00135ad0cb8923ae4269
URL: https://github.com/llvm/llvm-project/commit/d36e2b621fd9e3354cef00135ad0cb8923ae4269
DIFF: https://github.com/llvm/llvm-project/commit/d36e2b621fd9e3354cef00135ad0cb8923ae4269.diff
LOG: [OpenMP][libomp] Add transparent task flag bit to kmp_tasking_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
https://github.com/llvm/llvm-project/pull/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.
Added:
Modified:
openmp/runtime/src/kmp.h
Removed:
################################################################################
diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h
index 3ffec41a7f679..36c40abaf1ef4 100644
--- a/openmp/runtime/src/kmp.h
+++ b/openmp/runtime/src/kmp.h
@@ -2707,7 +2707,8 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
unsigned tasking_ser : 1;
unsigned task_serial : 1;
unsigned tasktype : 1;
- unsigned reserved : 8;
+ unsigned reserved : 7;
+ unsigned transparent : 1;
unsigned free_agent_eligible : 1;
unsigned detachable : 1;
unsigned priority_specified : 1;
@@ -2731,7 +2732,8 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
unsigned detachable : 1; /* 1 == can detach */
unsigned free_agent_eligible : 1; /* set if task can be executed by a
free-agent thread */
- unsigned reserved : 8; /* reserved for compiler use */
+ unsigned transparent : 1; /* transparent task support (compiler uses this) */
+ unsigned reserved : 7; /* reserved for compiler use */
/* Library flags */ /* Total library flags must be 16 bits */
unsigned tasktype : 1; /* task is either explicit(1) or implicit (0) */
More information about the Openmp-commits
mailing list