[llvm-branch-commits] [flang] [llvm] [mlir] [Flang][OpenMP][MLIR] Initial declare target to for variables implementation (PR #119589)

Sergio Afonso via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Nov 24 04:37:41 PST 2025


================
@@ -4477,8 +4515,16 @@ static void processMapMembersWithParent(
     mapFlag &= ~llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TARGET_PARAM;
     mapFlag |= llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_MEMBER_OF;
     ompBuilder.setCorrectMemberOfFlag(mapFlag, memberOfFlag);
-    if (checkIfPointerMap(memberClause))
+    bool isDeclTargetTo = isDeclareTargetTo(parentClause.getVarPtr()
+                                                ? parentClause.getVarPtr()
+                                                : parentClause.getVarPtrPtr());
+    if (checkIfPointerMap(memberClause) &&
+        (!isDeclTargetTo ||
+         (isDeclTargetTo &&
+          targetDirective != TargetDirectiveEnumTy::TargetUpdate &&
+          targetDirective != TargetDirectiveEnumTy::TargetData))) {
----------------
skatrak wrote:

Nit: The second check for `isDeclTargetTo` seems redundant.
```suggestion
        (!isDeclTargetTo ||
         (targetDirective != TargetDirectiveEnumTy::TargetUpdate &&
          targetDirective != TargetDirectiveEnumTy::TargetData))) {
```

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


More information about the llvm-branch-commits mailing list