[clang] [llvm] [clang] [OpenMP] New OpenMP 6.0 self_maps clause - CodeGen (PR #134131)

Deepak Eachempati via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 10:10:53 PDT 2025


================
@@ -9820,7 +9822,8 @@ void CGOpenMPRuntime::adjustTargetSpecificDataForLambdas(
 
 void CGOpenMPRuntime::processRequiresDirective(const OMPRequiresDecl *D) {
   for (const OMPClause *Clause : D->clauselists()) {
-    if (Clause->getClauseKind() == OMPC_unified_shared_memory) {
+    if (Clause->getClauseKind() == OMPC_unified_shared_memory ||
+        Clause->getClauseKind() == OMPC_self_maps) {
----------------
dreachem wrote:

A self map (e.g., `map(self: x)`) by itself doesn't require unified shared memory. However, a `requires self_maps` directive does imply the `unified_shared_memory` requirement according to the spec. I suppose we could have said that USM is not implied and make them orthogonal properties, but that's not the direction we ended up taking with the requirement. 

https://github.com/llvm/llvm-project/pull/134131


More information about the llvm-commits mailing list