[Openmp-commits] [openmp] 0f391d6 - [OpenMP] OpenMP ThreadSet clause - basic runtime (#144409)

via Openmp-commits openmp-commits at lists.llvm.org
Tue Jul 8 05:16:32 PDT 2025


Author: Ritanya-B-Bharadwaj
Date: 2025-07-08T14:16:29+02:00
New Revision: 0f391d6f51217de5cb6735b17f359eb078bbe94e

URL: https://github.com/llvm/llvm-project/commit/0f391d6f51217de5cb6735b17f359eb078bbe94e
DIFF: https://github.com/llvm/llvm-project/commit/0f391d6f51217de5cb6735b17f359eb078bbe94e.diff

LOG: [OpenMP] OpenMP ThreadSet clause - basic runtime (#144409)

Initial runtime support for threadset clause in task and taskloop
directives [Section 14.8 in in OpenMP 6.0 spec]

Frontend PR- https://github.com/llvm/llvm-project/pull/135807

Added: 
    

Modified: 
    openmp/runtime/src/kmp.h

Removed: 
    


################################################################################
diff  --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h
index a2cacc8792b15..f62cabee6ea84 100644
--- a/openmp/runtime/src/kmp.h
+++ b/openmp/runtime/src/kmp.h
@@ -2725,11 +2725,12 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
 #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
   /* Same fields as in the #else branch, but in reverse order */
 #if OMPX_TASKGRAPH
-  unsigned reserved31 : 5;
+  unsigned reserved31 : 4;
   unsigned onced : 1;
 #else
-  unsigned reserved31 : 6;
+  unsigned reserved31 : 5;
 #endif
+  unsigned hidden_helper : 1;
   unsigned target : 1;
   unsigned native : 1;
   unsigned freed : 1;
@@ -2741,7 +2742,7 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
   unsigned task_serial : 1;
   unsigned tasktype : 1;
   unsigned reserved : 8;
-  unsigned hidden_helper : 1;
+  unsigned free_agent_eligible : 1;
   unsigned detachable : 1;
   unsigned priority_specified : 1;
   unsigned proxy : 1;
@@ -2762,7 +2763,8 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
   unsigned priority_specified : 1; /* set if the compiler provides priority
                                       setting for the task */
   unsigned detachable : 1; /* 1 == can detach */
-  unsigned hidden_helper : 1; /* 1 == hidden helper task */
+  unsigned free_agent_eligible : 1; /* set if task can be executed by a
+                                       free-agent thread */
   unsigned reserved : 8; /* reserved for compiler use */
 
   /* Library flags */ /* Total library flags must be 16 bits */
@@ -2780,11 +2782,12 @@ typedef struct kmp_tasking_flags { /* Total struct must be exactly 32 bits */
   unsigned freed : 1; /* 1==freed, 0==allocated        */
   unsigned native : 1; /* 1==gcc-compiled task, 0==intel */
   unsigned target : 1;
+  unsigned hidden_helper : 1; /* 1 == hidden helper task */
 #if OMPX_TASKGRAPH
   unsigned onced : 1; /* 1==ran once already, 0==never ran, record & replay purposes */
-  unsigned reserved31 : 5; /* reserved for library use */
+  unsigned reserved31 : 4; /* reserved for library use */
 #else
-  unsigned reserved31 : 6; /* reserved for library use */
+  unsigned reserved31 : 5; /* reserved for library use */
 #endif
 #endif
 } kmp_tasking_flags_t;


        


More information about the Openmp-commits mailing list