[flang-commits] [flang] [llvm] [mlir] [MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results (PR #124604)

Sergio Afonso via flang-commits flang-commits at lists.llvm.org
Tue Jan 28 03:24:24 PST 2025


================
@@ -3303,7 +3303,15 @@ static void processMapMembersWithParent(
     combinedInfo.BasePointers.emplace_back(
         mapData.BasePointers[basePointerIndex]);
     combinedInfo.Pointers.emplace_back(mapData.Pointers[memberDataIdx]);
-    combinedInfo.Sizes.emplace_back(mapData.Sizes[memberDataIdx]);
+
+    llvm::Value *size = mapData.Sizes[memberDataIdx];
+    if (checkIfPointerMap(memberClause)) {
+      size = builder.CreateSelect(
+          builder.CreateIsNull(mapData.Pointers[memberDataIdx]),
+          builder.getInt64(0), mapData.Sizes[memberDataIdx]);
----------------
skatrak wrote:

```suggestion
          builder.getInt64(0), size);
```

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


More information about the flang-commits mailing list