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

via flang-commits flang-commits at lists.llvm.org
Wed Jan 29 08:47:38 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]);
----------------
agozillon wrote:

Thanks for the catch! :-) 

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


More information about the flang-commits mailing list