Skip to content

[OpenMP][MLIR] Descriptor explicit member map lowering changes #113556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 16, 2024

Conversation

agozillon
Copy link
Contributor

This is one of 3 PRs in a PR stack that aims to add support for explicit mapping of allocatable members in derived types.

The primary changes in this PR are the OpenMPToLLVMIRTranslation.cpp changes, which are small and seek to alter the current member mapping to add an additional map insertion for pointers. Effectively, if the member is a pointer (currently indicated by having a varPtrPtr field) we add an additional map for the pointer and then alter the subsequent mapping of the member (the data) to utilise the member rather than the parents base pointer. This appears to be necessary in certain cases when mapping pointer data within record types to avoid segfaulting on device (due to incorrect data mapping). In general this record type mapping may be simplifiable in the future.

There are also additions of tests which should help to showcase the affect of the changes above.

@llvmbot
Copy link
Member

llvmbot commented Oct 24, 2024

@llvm/pr-subscribers-offload
@llvm/pr-subscribers-flang-openmp

@llvm/pr-subscribers-mlir-openmp

Author: None (agozillon)

Changes

This is one of 3 PRs in a PR stack that aims to add support for explicit mapping of allocatable members in derived types.

The primary changes in this PR are the OpenMPToLLVMIRTranslation.cpp changes, which are small and seek to alter the current member mapping to add an additional map insertion for pointers. Effectively, if the member is a pointer (currently indicated by having a varPtrPtr field) we add an additional map for the pointer and then alter the subsequent mapping of the member (the data) to utilise the member rather than the parents base pointer. This appears to be necessary in certain cases when mapping pointer data within record types to avoid segfaulting on device (due to incorrect data mapping). In general this record type mapping may be simplifiable in the future.

There are also additions of tests which should help to showcase the affect of the changes above.


Patch is 35.81 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/113556.diff

7 Files Affected:

  • (modified) mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td (+1-1)
  • (modified) mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp (+17-41)
  • (modified) mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp (+48-33)
  • (modified) mlir/test/Dialect/OpenMP/ops.mlir (+2-2)
  • (added) mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir (+66)
  • (modified) mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir (+1-1)
  • (renamed) mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir (+62-52)
diff --git a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
index 626539cb7bde42..348c1b9c2b8bdf 100644
--- a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+++ b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
@@ -895,7 +895,7 @@ def MapInfoOp : OpenMP_Op<"map.info", [AttrSizedOperandSegments]> {
                        TypeAttr:$var_type,
                        Optional<OpenMP_PointerLikeType>:$var_ptr_ptr,
                        Variadic<OpenMP_PointerLikeType>:$members,
-                       OptionalAttr<AnyIntElementsAttr>:$members_index,
+                       OptionalAttr<IndexListArrayAttr>:$members_index,
                        Variadic<OpenMP_MapBoundsType>:$bounds, /* rank-0 to rank-{n-1} */
                        OptionalAttr<UI64Attr>:$map_type,
                        OptionalAttr<VariableCaptureKindAttr>:$map_capture_type,
diff --git a/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp b/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
index e1df647d6a3c71..8d31cda3a33ee9 100644
--- a/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+++ b/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
@@ -1395,16 +1395,15 @@ static void printMapClause(OpAsmPrinter &p, Operation *op,
 }
 
 static ParseResult parseMembersIndex(OpAsmParser &parser,
-                                     DenseIntElementsAttr &membersIdx) {
-  SmallVector<APInt> values;
-  int64_t value;
-  int64_t shape[2] = {0, 0};
-  unsigned shapeTmp = 0;
+                                     ArrayAttr &membersIdx) {
+  SmallVector<Attribute> values, memberIdxs;
+
   auto parseIndices = [&]() -> ParseResult {
+    int64_t value;
     if (parser.parseInteger(value))
       return failure();
-    shapeTmp++;
-    values.push_back(APInt(32, value, /*isSigned=*/true));
+    values.push_back(IntegerAttr::get(parser.getBuilder().getIntegerType(64),
+                                      APInt(64, value, /*isSigned=*/false)));
     return success();
   };
 
@@ -1418,52 +1417,29 @@ static ParseResult parseMembersIndex(OpAsmParser &parser,
     if (failed(parser.parseRSquare()))
       return failure();
 
-    // Only set once, if any indices are not the same size
-    // we error out in the next check as that's unsupported
-    if (shape[1] == 0)
-      shape[1] = shapeTmp;
-
-    // Verify that the recently parsed list is equal to the
-    // first one we parsed, they must be equal lengths to
-    // keep the rectangular shape DenseIntElementsAttr
-    // requires
-    if (shapeTmp != shape[1])
-      return failure();
-
-    shapeTmp = 0;
-    shape[0]++;
+    memberIdxs.push_back(ArrayAttr::get(parser.getContext(), values));
+    values.clear();
   } while (succeeded(parser.parseOptionalComma()));
 
-  if (!values.empty()) {
-    ShapedType valueType =
-        VectorType::get(shape, IntegerType::get(parser.getContext(), 32));
-    membersIdx = DenseIntElementsAttr::get(valueType, values);
-  }
+  if (!memberIdxs.empty())
+    membersIdx = ArrayAttr::get(parser.getContext(), memberIdxs);
 
   return success();
 }
 
 static void printMembersIndex(OpAsmPrinter &p, MapInfoOp op,
-                              DenseIntElementsAttr membersIdx) {
-  llvm::ArrayRef<int64_t> shape = membersIdx.getShapedType().getShape();
-  assert(shape.size() <= 2);
-
+                              ArrayAttr membersIdx) {
   if (!membersIdx)
     return;
 
-  for (int i = 0; i < shape[0]; ++i) {
+  llvm::interleaveComma(membersIdx, p, [&p](Attribute v) {
     p << "[";
-    int rowOffset = i * shape[1];
-    for (int j = 0; j < shape[1]; ++j) {
-      p << membersIdx.getValues<int32_t>()[rowOffset + j];
-      if ((j + 1) < shape[1])
-        p << ",";
-    }
+    auto memberIdx = cast<ArrayAttr>(v);
+    llvm::interleaveComma(memberIdx.getValue(), p, [&p](Attribute v2) {
+      p << cast<IntegerAttr>(v2).getInt();
+    });
     p << "]";
-
-    if ((i + 1) < shape[0])
-      p << ", ";
-  }
+  });
 }
 
 static void printCaptureType(OpAsmPrinter &p, Operation *op,
diff --git a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
index 27cd38dc3c62d9..8b932d966b4da6 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
@@ -2386,46 +2386,36 @@ static int getMapDataMemberIdx(MapInfoData &mapData, omp::MapInfoOp memberOp) {
 
 static omp::MapInfoOp getFirstOrLastMappedMemberPtr(omp::MapInfoOp mapInfo,
                                                     bool first) {
-  DenseIntElementsAttr indexAttr = mapInfo.getMembersIndexAttr();
-
+  ArrayAttr indexAttr = mapInfo.getMembersIndexAttr();
   // Only 1 member has been mapped, we can return it.
   if (indexAttr.size() == 1)
-    if (auto mapOp =
-            dyn_cast<omp::MapInfoOp>(mapInfo.getMembers()[0].getDefiningOp()))
-      return mapOp;
+    return cast<omp::MapInfoOp>(mapInfo.getMembers()[0].getDefiningOp());
 
-  llvm::ArrayRef<int64_t> shape = indexAttr.getShapedType().getShape();
-  llvm::SmallVector<size_t> indices(shape[0]);
+  llvm::SmallVector<size_t> indices(indexAttr.size());
   std::iota(indices.begin(), indices.end(), 0);
 
   llvm::sort(indices.begin(), indices.end(),
              [&](const size_t a, const size_t b) {
-               auto indexValues = indexAttr.getValues<int32_t>();
-               for (int i = 0; i < shape[1]; ++i) {
-                 int aIndex = indexValues[a * shape[1] + i];
-                 int bIndex = indexValues[b * shape[1] + i];
+               auto memberIndicesA = cast<ArrayAttr>(indexAttr[a]);
+               auto memberIndicesB = cast<ArrayAttr>(indexAttr[b]);
+               for (const auto it : llvm::zip(memberIndicesA, memberIndicesB)) {
+                 int64_t aIndex = cast<IntegerAttr>(std::get<0>(it)).getInt();
+                 int64_t bIndex = cast<IntegerAttr>(std::get<1>(it)).getInt();
 
                  if (aIndex == bIndex)
                    continue;
 
-                 if (aIndex != -1 && bIndex == -1)
-                   return false;
-
-                 if (aIndex == -1 && bIndex != -1)
-                   return true;
-
-                 // A is earlier in the record type layout than B
                  if (aIndex < bIndex)
                    return first;
 
-                 if (bIndex < aIndex)
+                 if (aIndex > bIndex)
                    return !first;
                }
 
-               // Iterated the entire list and couldn't make a decision, all
-               // elements were likely the same. Return false, since the sort
-               // comparator should return false for equal elements.
-               return false;
+               // Iterated the up until the end of the smallest member and
+               // they were found to be equal up to that point, so select
+               // the member with the lowest index count, so the "parent"
+               return memberIndicesA.size() < memberIndicesB.size();
              });
 
   return llvm::cast<omp::MapInfoOp>(
@@ -2596,17 +2586,8 @@ static llvm::omp::OpenMPOffloadMappingFlags mapParentWithMembers(
       /*isSigned=*/false);
   combinedInfo.Sizes.push_back(size);
 
-  // TODO: This will need to be expanded to include the whole host of logic for
-  // the map flags that Clang currently supports (e.g. it should take the map
-  // flag of the parent map flag, remove the OMP_MAP_TARGET_PARAM and do some
-  // further case specific flag modifications). For the moment, it handles what
-  // we support as expected.
-  llvm::omp::OpenMPOffloadMappingFlags mapFlag =
-      llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TO;
-
   llvm::omp::OpenMPOffloadMappingFlags memberOfFlag =
       ompBuilder.getMemberOfFlag(combinedInfo.BasePointers.size() - 1);
-  ompBuilder.setCorrectMemberOfFlag(mapFlag, memberOfFlag);
 
   // This creates the initial MEMBER_OF mapping that consists of
   // the parent/top level container (same as above effectively, except
@@ -2615,6 +2596,12 @@ static llvm::omp::OpenMPOffloadMappingFlags mapParentWithMembers(
   // only relevant if the structure in its totality is being mapped,
   // otherwise the above suffices.
   if (!parentClause.getPartialMap()) {
+    // TODO: This will need to be expanded to include the whole host of logic
+    // for the map flags that Clang currently supports (e.g. it should do some
+    // further case specific flag modifications). For the moment, it handles
+    // what we support as expected.
+    llvm::omp::OpenMPOffloadMappingFlags mapFlag = mapData.Types[mapDataIndex];
+    ompBuilder.setCorrectMemberOfFlag(mapFlag, memberOfFlag);
     combinedInfo.Types.emplace_back(mapFlag);
     combinedInfo.DevicePointers.emplace_back(
         llvm::OpenMPIRBuilder::DeviceInfoTy::None);
@@ -2665,6 +2652,31 @@ static void processMapMembersWithParent(
 
     assert(memberDataIdx >= 0 && "could not find mapped member of structure");
 
+    // If we're currently mapping a pointer to a block of data, we must
+    // initially map the pointer, and then attatch/bind the data with a
+    // subsequent map to the pointer. This segment of code generates the
+    // pointer mapping, which can in certain cases be optimised out as Clang
+    // currently does in its lowering. However, for the moment we do not do so,
+    // in part as we currently have substantially less information on the data
+    // being mapped at this stage.
+    if (checkIfPointerMap(memberClause)) {
+      auto mapFlag = llvm::omp::OpenMPOffloadMappingFlags(
+          memberClause.getMapType().value());
+      mapFlag &= ~llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_TARGET_PARAM;
+      mapFlag |= llvm::omp::OpenMPOffloadMappingFlags::OMP_MAP_MEMBER_OF;
+      ompBuilder.setCorrectMemberOfFlag(mapFlag, memberOfFlag);
+      combinedInfo.Types.emplace_back(mapFlag);
+      combinedInfo.DevicePointers.emplace_back(
+          llvm::OpenMPIRBuilder::DeviceInfoTy::None);
+      combinedInfo.Names.emplace_back(
+          LLVM::createMappingInformation(memberClause.getLoc(), ompBuilder));
+      combinedInfo.BasePointers.emplace_back(
+          mapData.BasePointers[mapDataIndex]);
+      combinedInfo.Pointers.emplace_back(mapData.BasePointers[memberDataIdx]);
+      combinedInfo.Sizes.emplace_back(builder.getInt64(
+          moduleTranslation.getLLVMModule()->getDataLayout().getPointerSize()));
+    }
+
     // Same MemberOfFlag to indicate its link with parent and other members
     // of.
     auto mapFlag =
@@ -2680,7 +2692,10 @@ static void processMapMembersWithParent(
         mapData.DevicePointers[memberDataIdx]);
     combinedInfo.Names.emplace_back(
         LLVM::createMappingInformation(memberClause.getLoc(), ompBuilder));
-    combinedInfo.BasePointers.emplace_back(mapData.BasePointers[mapDataIndex]);
+    uint64_t basePointerIndex =
+        checkIfPointerMap(memberClause) ? memberDataIdx : mapDataIndex;
+    combinedInfo.BasePointers.emplace_back(
+        mapData.BasePointers[basePointerIndex]);
     combinedInfo.Pointers.emplace_back(mapData.Pointers[memberDataIdx]);
     combinedInfo.Sizes.emplace_back(mapData.Sizes[memberDataIdx]);
   }
diff --git a/mlir/test/Dialect/OpenMP/ops.mlir b/mlir/test/Dialect/OpenMP/ops.mlir
index 6f11b451fa00a3..63e53ee2e2612e 100644
--- a/mlir/test/Dialect/OpenMP/ops.mlir
+++ b/mlir/test/Dialect/OpenMP/ops.mlir
@@ -2633,8 +2633,8 @@ func.func @omp_map_with_members(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: !llvm
   // CHECK: %[[MAP4:.*]] = omp.map.info var_ptr(%[[ARG4]] : !llvm.ptr, f32) map_clauses(from) capture(ByRef) -> !llvm.ptr {name = ""}
   %mapv5 = omp.map.info var_ptr(%arg4 : !llvm.ptr, f32) map_clauses(from) capture(ByRef) -> !llvm.ptr {name = ""}
 
-  // CHECK: %[[MAP5:.*]] = omp.map.info var_ptr(%[[ARG5]] : !llvm.ptr, !llvm.struct<(i32, struct<(i32, f32)>)>) map_clauses(from) capture(ByRef) members(%[[MAP3]], %[[MAP4]] : [1,0], [1,1] : !llvm.ptr, !llvm.ptr) -> !llvm.ptr {name = "", partial_map = true}
-  %mapv6 = omp.map.info var_ptr(%arg5 : !llvm.ptr, !llvm.struct<(i32, struct<(i32, f32)>)>) map_clauses(from) capture(ByRef) members(%mapv4, %mapv5 : [1,0], [1,1] : !llvm.ptr, !llvm.ptr) -> !llvm.ptr {name = "", partial_map = true}
+  // CHECK: %[[MAP5:.*]] = omp.map.info var_ptr(%[[ARG5]] : !llvm.ptr, !llvm.struct<(i32, struct<(i32, f32)>)>) map_clauses(from) capture(ByRef) members(%[[MAP3]], %[[MAP4]] : [1, 0], [1, 1] : !llvm.ptr, !llvm.ptr) -> !llvm.ptr {name = "", partial_map = true}
+  %mapv6 = omp.map.info var_ptr(%arg5 : !llvm.ptr, !llvm.struct<(i32, struct<(i32, f32)>)>) map_clauses(from) capture(ByRef) members(%mapv4, %mapv5 : [1, 0], [1, 1] : !llvm.ptr, !llvm.ptr) -> !llvm.ptr {name = "", partial_map = true}
 
   // CHECK: omp.target_exit_data map_entries(%[[MAP3]], %[[MAP4]], %[[MAP5]] : !llvm.ptr, !llvm.ptr, !llvm.ptr)
   omp.target_exit_data map_entries(%mapv4, %mapv5, %mapv6 : !llvm.ptr, !llvm.ptr, !llvm.ptr){}
diff --git a/mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir b/mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
new file mode 100644
index 00000000000000..5d772a13fe578a
--- /dev/null
+++ b/mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
@@ -0,0 +1,66 @@
+// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s
+
+// This test checks the offload sizes, map types and base pointers and pointers
+// provided to the OpenMP kernel argument structure are correct when lowering
+// to LLVM-IR from MLIR when performing explicit member mapping of a record type
+// that includes records with pointer members in various locations of the record
+// types hierarchy.
+
+module attributes {omp.is_target_device = false, omp.target_triples = ["amdgcn-amd-amdhsa"]} {
+  llvm.func @omp_nested_derived_type_alloca_map(%arg0: !llvm.ptr) {
+    %0 = llvm.mlir.constant(4 : index) : i64
+    %1 = llvm.mlir.constant(1 : index) : i64
+    %2 = llvm.mlir.constant(2 : index) : i64
+    %3 = llvm.mlir.constant(0 : index) : i64
+    %4 = llvm.mlir.constant(6 : index) : i64
+    %5 = omp.map.bounds lower_bound(%3 : i64) upper_bound(%0 : i64) extent(%0 : i64) stride(%1 : i64) start_idx(%3 : i64) {stride_in_bytes = true}
+    %6 = llvm.getelementptr %arg0[0, 6] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(f32, struct<(ptr, i64, i32, i8, i8, i8, i8)>, array<10 x i32>, f32, struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>, i32, struct<(f32, array<10 x i32>, struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>, i32)>)>
+    %7 = llvm.getelementptr %6[0, 2] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(f32, array<10 x i32>, struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>, i32)>
+    %8 = llvm.getelementptr %7[0, 0] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>
+    %9 = omp.map.info var_ptr(%7 : !llvm.ptr, i32) var_ptr_ptr(%8 : !llvm.ptr) map_clauses(tofrom) capture(ByRef) bounds(%5) -> !llvm.ptr {name = ""}
+    %10 = omp.map.info var_ptr(%7 : !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>) map_clauses(tofrom) capture(ByRef) -> !llvm.ptr {name = "one_l%nest%array_k"}
+    %11 = omp.map.info var_ptr(%arg0 : !llvm.ptr, !llvm.struct<(f32, struct<(ptr, i64, i32, i8, i8, i8, i8)>, array<10 x i32>, f32, struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>, i32, struct<(f32, array<10 x i32>, struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>, i32)>)>) map_clauses(tofrom) capture(ByRef) members(%10, %9 : [6,2], [6,2,0] : !llvm.ptr, !llvm.ptr) -> !llvm.ptr {name = "one_l", partial_map = true}
+    omp.target map_entries(%10 -> %arg1, %9 -> %arg2, %11 -> %arg3 : !llvm.ptr, !llvm.ptr, !llvm.ptr) {
+      omp.terminator
+    }
+    llvm.return
+  }
+}
+
+// CHECK: @.offload_sizes{{.*}} = private unnamed_addr constant [4 x i64] [i64 0, i64 48, i64 8, i64 20]
+// CHECK: @.offload_maptypes{{.*}} = private unnamed_addr constant [4 x i64] [i64 32, i64 281474976710659, i64 281474976710659, i64 281474976710675]
+
+// CHECK: define void @omp_nested_derived_type_alloca_map(ptr %[[ARG:.*]]) {
+
+// CHECK: %[[NESTED_DTYPE_MEMBER_GEP:.*]] = getelementptr { float, { ptr, i64, i32, i8, i8, i8, i8 }, [10 x i32], float, { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, i32, { float, [10 x i32], { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, i32 } }, ptr %[[ARG]], i32 0, i32 6
+// CHECK: %[[NESTED_STRUCT_PTR_MEMBER_GEP:.*]] = getelementptr { float, [10 x i32], { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, i32 }, ptr %[[NESTED_DTYPE_MEMBER_GEP]], i32 0, i32 2
+// CHECK: %[[NESTED_STRUCT_PTR_MEMBER_BADDR_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[NESTED_STRUCT_PTR_MEMBER_GEP]], i32 0, i32 0
+// CHECK: %[[NESTED_STRUCT_PTR_MEMBER_BADDR_LOAD:.*]] = load ptr, ptr %[[NESTED_STRUCT_PTR_MEMBER_BADDR_GEP]], align 8
+// CHECK: %[[ARR_OFFSET:.*]] = getelementptr inbounds i32, ptr %[[NESTED_STRUCT_PTR_MEMBER_BADDR_LOAD]], i64 0
+// CHECK: %[[DTYPE_SIZE_SEGMENT_CALC_1:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[NESTED_STRUCT_PTR_MEMBER_GEP]], i64 1
+// CHECK: %[[DTYPE_SIZE_SEGMENT_CALC_2:.*]] = ptrtoint ptr %[[DTYPE_SIZE_SEGMENT_CALC_1]] to i64
+// CHECK: %[[DTYPE_SIZE_SEGMENT_CALC_3:.*]] = ptrtoint ptr %[[NESTED_STRUCT_PTR_MEMBER_GEP]] to i64
+// CHECK: %[[DTYPE_SIZE_SEGMENT_CALC_4:.*]] = sub i64 %[[DTYPE_SIZE_SEGMENT_CALC_2]], %[[DTYPE_SIZE_SEGMENT_CALC_3]]
+// CHECK: %[[DTYPE_SIZE_SEGMENT_CALC_5:.*]] = sdiv exact i64 %[[DTYPE_SIZE_SEGMENT_CALC_4]], ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i64)
+
+// CHECK:  %[[BASE_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
+// CHECK:  store ptr %[[ARG]], ptr %[[BASE_PTRS]], align 8
+// CHECK:  %[[OFFLOAD_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_ptrs, i32 0, i32 0
+// CHECK:  store ptr %[[NESTED_STRUCT_PTR_MEMBER_GEP]], ptr %[[OFFLOAD_PTRS]], align 8
+// CHECK:  %[[OFFLOAD_SIZES:.*]] = getelementptr inbounds [4 x i64], ptr %.offload_sizes, i32 0, i32 0
+// CHECK:  store i64 %[[DTYPE_SIZE_SEGMENT_CALC_5]], ptr %[[OFFLOAD_SIZES]], align 8
+
+// CHECK:  %[[BASE_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 1
+// CHECK:  store ptr %[[ARG]], ptr %[[BASE_PTRS]], align 8
+// CHECK:  %[[OFFLOAD_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_ptrs, i32 0, i32 1
+// CHECK:  store ptr %[[NESTED_STRUCT_PTR_MEMBER_GEP]], ptr %[[OFFLOAD_PTRS]], align 8
+
+// CHECK:  %[[BASE_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 2
+// CHECK:  store ptr %[[ARG]], ptr %[[BASE_PTRS]], align 8
+// CHECK:  %[[OFFLOAD_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_ptrs, i32 0, i32 2
+// CHECK:  store ptr %[[NESTED_STRUCT_PTR_MEMBER_BADDR_GEP]], ptr %[[OFFLOAD_PTRS]], align 8
+
+// CHECK:  %[[BASE_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_baseptrs, i32 0, i32 3
+// CHECK:  store ptr %[[NESTED_STRUCT_PTR_MEMBER_BADDR_GEP]], ptr %[[BASE_PTRS]], align 8
+// CHECK:  %[[OFFLOAD_PTRS:.*]] = getelementptr inbounds [4 x ptr], ptr %.offload_ptrs, i32 0, i32 3
+// CHECK:  store ptr %[[ARR_OFFSET]], ptr %[[OFFLOAD_PTRS]], align 8
diff --git a/mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir b/mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
index 8c1182c839a257..8837b42f70a447 100644
--- a/mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
+++ b/mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
@@ -21,7 +21,7 @@ llvm.func @_QQmain() {
     %9 = llvm.getelementptr %4[0, 1] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(f32, array<10 x i32>, struct<(f32, i32)>, i32)>
     %10 = omp.map.bounds lower_bound(%2 : i64) upper_bound(%1 : i64) extent(%0 : i64) stride(%2 : i64) start_idx(%2 : i64)
     %11 = omp.map.info var_ptr(%9 : !llvm.ptr, !llvm.array<10 x i32>) map_clauses(tofrom) capture(ByRef) bounds(%10) -> !llvm.ptr
-    %12 = omp.map.info var_ptr(%4 : !llvm.ptr, !llvm.struct<(f32, array<10 x i32>, struct<(f32, i32)>, i32)>) map_clauses(tofrom) capture(ByRef) members(%6, %8, %11 : [3, -1], [2, 1], [1, -1] : !llvm.ptr, !llvm.ptr, !llvm.ptr) -> !llvm.ptr {partial_map = true}
+    %12 = omp.map.info var_ptr(%4 : !llvm.ptr, !llvm.struct<(f32, array<10 x i32>, str...
[truncated]

Copy link
Member

@skatrak skatrak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but buildbot errors in "MapInfoFinalization.cpp", "MapsForPrivatizedSymbols.cpp" and "Utils.cpp" seem to be a consequence of the type change to members_index. Hopefully it's a simple fix.

@agozillon
Copy link
Contributor Author

agozillon commented Oct 30, 2024

LGTM, but buildbot errors in "MapInfoFinalization.cpp", "MapsForPrivatizedSymbols.cpp" and "Utils.cpp" seem to be a consequence of the type change to members_index. Hopefully it's a simple fix.

I have a feeling it's just not setup correctly to layer on top of it's dependent PRs, hence the errors. As in conjunction it all builds fine and runs on my machine, I'll double check though, perhaps something got lost in translation :-)

Would love an approval if you're happy with the PRs current state!

And would love an approval or further review comments from @ergawy @TIFitis if at all possible, would be wonderful to be able to land this in the next week or two as it seems to be approaching closure :-)

@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-1 branch from 4c33328 to 5fca59a Compare October 30, 2024 17:41
@agozillon
Copy link
Contributor Author

agozillon commented Oct 30, 2024

Ah yes, this one won't build, as MapInfoFinalization.cpp is a Flang change, as is the Utils.cpp/hpp and other complaints. This patch requires the changeset from 113557, so it's 113557 we should be looking at to pass, which it currently doesn't, so I'll have a look there. But don't expect this one to pass as it doesn't contain the changeset required to do so, it'd require both the Flang frontend changes and the changeset in this PR which is only the MLIR project level changes.

@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-2 branch 2 times, most recently from b27db91 to 70265b8 Compare October 31, 2024 11:58
Copy link
Member

@skatrak skatrak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. Then this LGTM, thanks for explaining!

@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-1 branch from 5fca59a to c97ce21 Compare November 8, 2024 04:23
@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-2 branch from 70265b8 to d0373c8 Compare November 8, 2024 04:24
@llvmbot llvmbot added the offload label Nov 8, 2024
@agozillon agozillon changed the base branch from users/agozillo/alloca-member-map-1 to main November 8, 2024 04:29
@agozillon agozillon changed the base branch from main to users/agozillo/alloca-member-map-1 November 8, 2024 04:29
@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-2 branch from d0373c8 to 8dcb02f Compare November 8, 2024 04:33
@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-1 branch from c97ce21 to 7e123d0 Compare November 16, 2024 11:01
@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-2 branch from 8dcb02f to 7a6a02b Compare November 16, 2024 11:02
Base automatically changed from users/agozillo/alloca-member-map-1 to main November 16, 2024 11:22
This is one of 3 PRs in a PR stack that aims to add support for explicit mapping of
allocatable members in derived types.

The primary changes in this PR are the OpenMPToLLVMIRTranslation.cpp changes,
which are small and seek to alter the current member mapping to add an
additional map insertion for pointers. Effectively, if the member is a pointer
(currently indicated by having a varPtrPtr field) we add an additional map for
the pointer and then alter the subsequent mapping of the member (the data)
to utilise the member rather than the parents base pointer. This appears to be
necessary in certain cases when mapping pointer data within record types to
avoid segfaulting on device (due to incorrect data mapping). In general this
record type mapping may be simplifiable in the future.

There are also additions of tests which should help to showcase the affect
of the changes above.
@agozillon agozillon force-pushed the users/agozillo/alloca-member-map-2 branch from 7a6a02b to c366a1a Compare November 16, 2024 11:26
@agozillon agozillon merged commit b5db75b into main Nov 16, 2024
5 of 7 checks passed
@agozillon agozillon deleted the users/agozillo/alloca-member-map-2 branch November 16, 2024 11:26
@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder ppc64le-mlir-rhel-clang running on ppc64le-mlir-rhel-test while building mlir at step 6 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/129/builds/9615

Here is the relevant piece of the build log for the reference
Step 6 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/buildbots/llvm-external-buildbots/workers/ppc64le-mlir-rhel-test/ppc64le-mlir-rhel-clang-build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
# |            33:  br label %entry 
# | check:70'0     ~~~~~~~~~~~~~~~~~
# |            34:  
# | check:70'0     ~
# |            35: entry: ; preds = %8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~
# |            36:  %10 = load ptr, ptr %3, align 8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            37:  %array_offset = getelementptr inbounds i32, ptr %10, i64 0 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder premerge-monolithic-linux running on premerge-linux-1 while building mlir at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/14849

Here is the relevant piece of the build log for the reference
Step 6 (build-unified-tree) failure: build (failure)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder ppc64le-flang-rhel-clang running on ppc64le-flang-rhel-test while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/157/builds/12925

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
21.179 [229/72/6353] Linking CXX shared module lib/CheckerOptionHandlingAnalyzerPlugin.so
21.216 [229/71/6354] Linking CXX shared module lib/SampleAnalyzerPlugin.so
21.303 [229/70/6355] Linking CXX executable bin/clang-refactor
21.415 [229/69/6356] Linking CXX shared module lib/CheckerDependencyHandlingAnalyzerPlugin.so
21.504 [229/68/6357] Linking CXX executable bin/clang-diff
21.711 [229/67/6358] Linking CXX executable bin/clang-installapi
24.411 [229/66/6359] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CompilerGeneratedNames.cpp.o
25.013 [229/65/6360] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/FIROpPatterns.cpp.o
26.776 [229/64/6361] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/StackReclaim.cpp.o
27.457 [229/63/6362] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o 
ccache /home/buildbots/llvm-external-buildbots/clang.16.0.1/bin/clang++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/flang/lib/Optimizer/OpenMP -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/flang/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/include -isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include -isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include -isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/clang/include -isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -c /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
    OpTy::build(*this, state, std::forward<Args>(args)...);
    ~~~~~~^~~~~
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:111:36: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value &, llvm::SmallVector<mlir::Value, 6>, mlir::DenseIntElementsAttr, mlir::OperandRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
    mlir::Value baseAddr = builder.create<mlir::omp::MapInfoOp>(
                                   ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
              ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
              ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
              ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
  static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
              ^
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/build/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
  static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
              ^
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from /home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/llvm/../mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
    OpTy::build(*this, state, std::forward<Args>(args)...);
    ~~~~~~^~~~~
/home/buildbots/llvm-external-buildbots/workers/ppc64le-flang-rhel-test/ppc64le-flang-rhel-clang-build/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:129:17: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::omp::PointerLikeType, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value, 6>, mlir::DenseIntElementsAttr, llvm::SmallVector<mlir::Value, 6>, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
        builder.create<mlir::omp::MapInfoOp>(
                ^

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder mlir-rocm-mi200 running on mi200-buildbot while building mlir at step 6 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/177/builds/8417

Here is the relevant piece of the build log for the reference
Step 6 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/FileCheck /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/FileCheck /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
# |            33:  br label %entry 
# | check:70'0     ~~~~~~~~~~~~~~~~~
# |            34:  
# | check:70'0     ~
# |            35: entry: ; preds = %8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~
# |            36:  %10 = load ptr, ptr %3, align 8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            37:  %array_offset = getelementptr inbounds i32, ptr %10, i64 0 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder mlir-nvidia-gcc7 running on mlir-nvidia while building mlir at step 6 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/116/builds/6448

Here is the relevant piece of the build log for the reference
Step 6 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-translate -mlir-to-llvmir -split-input-file /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-translate -mlir-to-llvmir -split-input-file /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
# |            33:  br label %entry 
# | check:70'0     ~~~~~~~~~~~~~~~~~
# |            34:  
# | check:70'0     ~
# |            35: entry: ; preds = %8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~
# |            36:  %10 = load ptr, ptr %3, align 8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            37:  %array_offset = getelementptr inbounds i32, ptr %10, i64 0 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder mlir-s390x-linux running on systemz-1 while building mlir at step 6 "test-build-unified-tree-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/117/builds/3786

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/uweigand/sandbox/buildbot/mlir-s390x-linux/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /home/uweigand/sandbox/buildbot/mlir-s390x-linux/build/bin/FileCheck /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/uweigand/sandbox/buildbot/mlir-s390x-linux/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/uweigand/sandbox/buildbot/mlir-s390x-linux/build/bin/FileCheck /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
# |            33:  br label %entry 
# | check:70'0     ~~~~~~~~~~~~~~~~~
# |            34:  
# | check:70'0     ~
# |            35: entry: ; preds = %8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~
# |            36:  %10 = load ptr, ptr %3, align 8 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            37:  %array_offset = getelementptr inbounds i32, ptr %10, i64 0 
# | check:70'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder premerge-monolithic-windows running on premerge-windows-1 while building mlir at step 7 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/35/builds/3708

Here is the relevant piece of the build log for the reference
Step 7 (build-unified-tree) failure: build (failure)
...
[112/3373] Building CXX object tools\flang\lib\Optimizer\CodeGen\CMakeFiles\FIRCodeGen.dir\CodeGen.cpp.obj
[113/3373] Linking CXX executable bin\clang-check.exe
[114/3373] Linking CXX executable bin\toyc-ch6.exe
[115/3373] Linking CXX executable bin\clang-repl.exe
[116/3373] Linking CXX executable bin\mlir-rewrite.exe
[117/3373] Linking CXX executable bin\toyc-ch7.exe
[118/3373] Linking CXX executable bin\mlir-query.exe
[119/3373] Building CXX object tools\flang\lib\Optimizer\OpenMP\CMakeFiles\FlangOpenMPTransforms.dir\MarkDeclareTarget.cpp.obj
[120/3373] Building CXX object tools\flang\lib\Optimizer\OpenMP\CMakeFiles\FlangOpenMPTransforms.dir\FunctionFiltering.cpp.obj
[121/3373] Building CXX object tools\flang\lib\Optimizer\OpenMP\CMakeFiles\FlangOpenMPTransforms.dir\MapInfoFinalization.cpp.obj
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.obj 
sccache C:\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe  /nologo /TP -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Optimizer\OpenMP -IC:\ws\buildbot\premerge-monolithic-windows\llvm-project\flang\lib\Optimizer\OpenMP -IC:\ws\buildbot\premerge-monolithic-windows\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\include -IC:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\..\mlir\include -Itools\mlir\include -Itools\clang\include -IC:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2  -MD  /EHs-c- /GR- -UNDEBUG -std:c++17 /showIncludes /Fotools\flang\lib\Optimizer\OpenMP\CMakeFiles\FlangOpenMPTransforms.dir\MapInfoFinalization.cpp.obj /Fdtools\flang\lib\Optimizer\OpenMP\CMakeFiles\FlangOpenMPTransforms.dir\FlangOpenMPTransforms.pdb /FS -c C:\ws\buildbot\premerge-monolithic-windows\llvm-project\flang\lib\Optimizer\OpenMP\MapInfoFinalization.cpp
C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\..\mlir\include\mlir/IR/Builders.h(517): error C2665: 'mlir::omp::MapInfoOp::build': none of the 5 overloads could convert all the argument types
tools\mlir\include\mlir/Dialect/OpenMP/OpenMPOps.h.inc(4540): note: could be 'void mlir::omp::MapInfoOp::build(mlir::OpBuilder &,mlir::OperationState &,mlir::TypeRange,mlir::Value,mlir::Type,mlir::Value,mlir::ValueRange,mlir::ArrayAttr,mlir::ValueRange,mlir::IntegerAttr,mlir::omp::VariableCaptureKindAttr,mlir::StringAttr,bool)'
tools\mlir\include\mlir/Dialect/OpenMP/OpenMPOps.h.inc(4539): note: or       'void mlir::omp::MapInfoOp::build(mlir::OpBuilder &,mlir::OperationState &,mlir::Type,mlir::Value,mlir::Type,mlir::Value,mlir::ValueRange,mlir::ArrayAttr,mlir::ValueRange,mlir::IntegerAttr,mlir::omp::VariableCaptureKindAttr,mlir::StringAttr,bool)'
tools\mlir\include\mlir/Dialect/OpenMP/OpenMPOps.h.inc(4538): note: or       'void mlir::omp::MapInfoOp::build(mlir::OpBuilder &,mlir::OperationState &,mlir::TypeRange,mlir::Value,mlir::TypeAttr,mlir::Value,mlir::ValueRange,mlir::ArrayAttr,mlir::ValueRange,mlir::IntegerAttr,mlir::omp::VariableCaptureKindAttr,mlir::StringAttr,mlir::BoolAttr)'
tools\mlir\include\mlir/Dialect/OpenMP/OpenMPOps.h.inc(4537): note: or       'void mlir::omp::MapInfoOp::build(mlir::OpBuilder &,mlir::OperationState &,mlir::Type,mlir::Value,mlir::TypeAttr,mlir::Value,mlir::ValueRange,mlir::ArrayAttr,mlir::ValueRange,mlir::IntegerAttr,mlir::omp::VariableCaptureKindAttr,mlir::StringAttr,mlir::BoolAttr)'
C:\ws\buildbot\premerge-monolithic-windows\llvm-project\llvm\..\mlir\include\mlir/IR/Builders.h(514): note: while trying to match the argument list '(mlir::OpBuilder, mlir::OperationState, _Ty, T, _Ty, T, _Ty, _Ty, _Ty, _Ty, _Ty, _Ty, _Ty)'
        with
        [
            _Ty=mlir::Type
        ]
        and
        [
            T=mlir::Value
        ]
        and
        [
            _Ty=mlir::TypeAttr
        ]
        and
        [
            T=mlir::Value
        ]
        and
        [
            _Ty=llvm::SmallVector<mlir::Value,6>
        ]
        and
        [
            _Ty=mlir::DenseIntElementsAttr
        ]
        and
        [
            _Ty=mlir::Operation::operand_range
        ]
        and
        [
            _Ty=mlir::IntegerAttr

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-libcxx running on linaro-flang-aarch64-libcxx while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/89/builds/10694

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
85.236 [266/67/6941] Linking CXX shared module unittests/Passes/Plugins/TestPlugin.so
85.244 [266/66/6942] Linking CXX shared library lib/libMLIRVCIXToLLVMIRTranslation.so.20.0git
85.253 [266/65/6943] Linking CXX shared library lib/libMLIRX86VectorToLLVMIRTranslation.so.20.0git
85.258 [266/64/6944] Linking CXX shared library lib/libCUFAttrs.so.20.0git
85.266 [266/63/6945] Linking CXX shared library lib/libMLIROpenACCToLLVMIRTranslation.so.20.0git
85.278 [266/62/6946] Linking CXX shared library lib/libMLIRROCDLToLLVMIRTranslation.so.20.0git
85.296 [266/61/6947] Linking CXX shared library lib/libMLIRNVVMToLLVMIRTranslation.so.20.0git
85.323 [266/60/6948] Linking CXX shared library lib/libMLIRTargetLLVM.so.20.0git
85.686 [266/59/6949] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
87.259 [266/58/6950] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../clang/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -fPIC  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:20: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
   89 |     return builder.create<omp::MapInfoOp>(
      |                    ^
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
88.020 [266/57/6951] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AnnotateConstant.cpp.o
88.100 [266/56/6952] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
90.429 [266/55/6953] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../clang/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -fPIC  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-out-of-tree running on linaro-flang-aarch64-out-of-tree while building mlir at step 7 "build-flang-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/53/builds/7985

Here is the relevant piece of the build log for the reference
Step 7 (build-flang-unified-tree) failure: build (failure)
0.260 [85/7/1] Generating VCSVersion.inc
17.264 [85/6/2] Building CXX object lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGenOpenMP.cpp.o
18.020 [78/12/3] Building CXX object lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/FIROpPatterns.cpp.o
18.472 [73/16/4] Building CXX object lib/Common/CMakeFiles/FortranCommon.dir/Version.cpp.o
20.121 [73/15/5] Building CXX object lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
20.179 [65/22/6] Linking CXX static library lib/libFortranCommon.a
22.584 [65/21/7] Building CXX object lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
35.358 [57/28/8] Building CXX object lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
37.635 [44/40/9] Building CXX object lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/FunctionFiltering.cpp.o
38.636 [44/39/10] Building CXX object lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_flang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/tools/clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17   -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:20: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
   89 |     return builder.create<omp::MapInfoOp>(
      |                    ^
../build_llvm/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../build_llvm/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
../build_llvm/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../build_llvm/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
../build_llvm/tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
39.539 [44/38/11] Building CXX object lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o
FAILED: lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_flang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/build_llvm/tools/clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17   -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -MF lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o.d -o lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-out-of-tree/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-dylib running on linaro-flang-aarch64-dylib while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/50/builds/6464

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
208.406 [451/17/6290] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-acc-structure.cpp.o
208.420 [451/16/6291] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertProcedureDesignator.cpp.o
208.439 [451/15/6292] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertExpr.cpp.o
208.533 [451/14/6293] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-allocate.cpp.o
208.535 [451/13/6294] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-cuda.cpp.o
208.537 [451/12/6295] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-deallocate.cpp.o
208.540 [451/11/6296] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertExprToHLFIR.cpp.o
208.542 [451/10/6297] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-data.cpp.o
211.017 [451/9/6298] Linking CXX shared library lib/libclang.so.20.0.0git
226.535 [451/8/6299] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-dylib/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-dylib/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:20: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
   89 |     return builder.create<omp::MapInfoOp>(
      |                    ^
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
226.591 [451/7/6300] Building CXX object tools/flang/lib/Optimizer/Passes/CMakeFiles/flangPasses.dir/Pipelines.cpp.o
226.619 [451/6/6301] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGen.cpp.o
260.137 [451/5/6302] Building CXX object tools/mlir/tools/mlir-lsp-server/CMakeFiles/mlir-lsp-server.dir/mlir-lsp-server.cpp.o
262.671 [451/4/6303] Building CXX object tools/mlir/tools/mlir-rewrite/CMakeFiles/mlir-rewrite.dir/mlir-rewrite.cpp.o
264.507 [451/3/6304] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
269.233 [451/2/6305] Building CXX object tools/mlir/tools/mlir-reduce/CMakeFiles/mlir-reduce.dir/mlir-reduce.cpp.o
446.300 [451/1/6306] Building CXX object tools/mlir/examples/transform-opt/CMakeFiles/mlir-transform-opt.dir/mlir-transform-opt.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-latest-gcc running on linaro-flang-aarch64-latest-gcc while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/130/builds/6265

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
136.608 [667/38/6585] Linking CXX executable bin/mlir-lsp-server
136.631 [667/37/6586] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
137.896 [667/36/6587] Linking CXX shared library lib/libMLIRMlirOptMain.so.20.0git
138.123 [667/35/6588] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/CodeGenOpenMP.cpp.o
138.861 [667/34/6589] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/FunctionFiltering.cpp.o
139.073 [667/33/6590] Building CXX object tools/mlir/examples/transform-opt/CMakeFiles/mlir-transform-opt.dir/mlir-transform-opt.cpp.o
139.130 [656/43/6591] Creating library symlink lib/libMLIRMlirOptMain.so
139.130 [656/42/6592] Creating library symlink lib/libFortranSemantics.so
139.230 [656/41/6593] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MemoryUtils.cpp.o
139.233 [656/40/6594] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -O3 -DNDEBUG -fno-semantic-interposition -std=c++17 -fPIC  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18,
                 from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19,
                 from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17,
                 from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20,
                 from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
../llvm-project/mlir/include/mlir/IR/Builders.h: In instantiation of ‘OpTy mlir::OpBuilder::create(mlir::Location, Args&& ...) [with OpTy
 = mlir::omp::MapInfoOp; Args = {mlir::Type, mlir::Value&, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value, 6>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr}]’:
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:42:   required from here
../llvm-project/mlir/include/mlir/IR/Builders.h:517:16: error: no matching function for call to ‘mlir::omp::MapInfoOp::build(mlir::OpBuilder&, mlir::OperationState&, mlir::Type, mlir::Value&, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr)’
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../llvm-project/mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h:38,
                 from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:32:
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate: ‘static void mlir::omp::MapInfoOp::build(mlir::OpBuilder&, mlir::OperationState&, mlir::Type, mlir::Value, mlir::TypeAttr, mlir::Value, mlir::ValueRange, mlir::ArrayAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr)’
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:255: note:   no known conversion for argument 8 from ‘mlir::DenseIntElementsAttr’ to ‘mlir::ArrayAttr’
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |                                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate: ‘static void mlir::omp::MapInfoOp::build(mlir::OpBuilder&, mlir::OperationState&, mlir::TypeRange, mlir::Value, mlir::TypeAttr, mlir::Value, mlir::ValueRange, mlir::ArrayAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr)’
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:264: note:   no known conversion for argument 8 from ‘mlir::DenseIntElementsAttr’ to ‘mlir::ArrayAttr’
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/:
:mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |                                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate: ‘static void mlir::omp::MapInfoOp::build(mlir::OpBuilder&, mlir::OperationState&, mlir::Type, mlir::Value, mlir::Type, mlir::Value, mlir::ValueRange, mlir::ArrayAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, bool)’
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:144: note:   no known conversion for argument 5 from ‘mlir::TypeAttr’ to ‘mlir::Type’
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |                                                                                                                                   ~~~~~~~~~~~~~^~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate: ‘static void mlir::omp::MapInfoOp::build(mlir::OpBuilder&, mlir::OperationState&, mlir::TypeRange, mlir::Value, mlir::Type, mlir::Value, mlir::ValueRange, mlir::ArrayAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, bool)’
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:153: note:   no known conversion for argument 5 from ‘mlir::TypeAttr’ to ‘mlir::Type’
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-release running on linaro-flang-aarch64-release while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/172/builds/6112

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
185.860 [650/29/6071] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/Utils.cpp.o
185.873 [646/32/6072] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/InlineElementals.cpp.o
185.923 [646/31/6073] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/FunctionFiltering.cpp.o
185.968 [646/30/6074] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFAddConstructor.cpp.o
186.000 [633/42/6075] Linking CXX executable bin/c-arcmt-test
186.205 [633/41/6076] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFDeviceGlobal.cpp.o
186.215 [633/40/6077] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MemoryUtils.cpp.o
186.219 [633/39/6078] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFCommon.cpp.o
186.252 [633/38/6079] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFOpConversion.cpp.o
186.554 [633/37/6080] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-release/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-release/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-release/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-release/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-release/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-release/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:20: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
   89 |     return builder.create<omp::MapInfoOp>(
      |                    ^
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
186.593 [633/36/6081] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
186.749 [633/35/6082] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/FIROpPatterns.cpp.o
187.953 [633/34/6083] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
189.118 [633/33/6084] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o
190.107 [633/32/6085] Linking CXX executable bin/c-index-test
191.316 [633/31/6086] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
192.370 [633/30/6087] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ArrayValueCopy.cpp.o
192.928 [633/29/6088] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffinePromotion.cpp.o
202.888 [633/28/6089] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CompilerGeneratedNames.cpp.o
203.128 [633/27/6090] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-sharedlibs running on linaro-flang-aarch64-sharedlibs while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/80/builds/6380

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-rel-assert running on linaro-flang-aarch64-rel-assert while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/29/builds/6594

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
205.427 [684/43/6216] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
208.628 [684/42/6217] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
209.450 [684/41/6218] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
209.562 [674/50/6219] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/DebugTypeGenerator.cpp.o
209.585 [674/49/6220] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/stub-evaluate.cpp.o
209.733 [674/48/6221] Building CXX object tools/flang/examples/FlangOmpReport/CMakeFiles/flangOmpReport.dir/FlangOmpReportVisitor.cpp.o
209.750 [674/47/6222] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
209.776 [674/46/6223] Building CXX object tools/flang/examples/PrintFlangFunctionNames/CMakeFiles/flangPrintFunctionNames.dir/PrintFlangFunctionNames.cpp.o
209.823 [674/45/6224] Building CXX object tools/flang/examples/FeatureList/CMakeFiles/flangFeatureList.dir/FeatureList.cpp.o
209.983 [673/45/6225] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:26:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp:89:20: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::ValueRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
   89 |     return builder.create<omp::MapInfoOp>(
      |                    ^
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
210.734 [673/44/6226] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
211.421 [673/43/6227] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/FunctionFiltering.cpp.o
211.490 [673/42/6228] Linking CXX executable bin/f18-parse-demo
213.548 [673/41/6229] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CompilerGeneratedNames.cpp.o
215.167 [673/40/6230] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AnnotateConstant.cpp.o
215.285 [673/39/6231] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffinePromotion.cpp.o
217.824 [673/38/6232] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-rel-assert/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder flang-aarch64-debug-reverse-iteration running on linaro-flang-aarch64-debug-reverse-iteration while building mlir at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/20/builds/5633

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
235.653 [688/42/6020] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/OptimizedBufferization.cpp.o
235.666 [688/41/6021] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/SimplifyHLFIRIntrinsics.cpp.o
235.990 [688/40/6022] Building CXX object tools/flang/lib/FrontendTool/CMakeFiles/flangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
236.481 [688/39/6023] Linking CXX executable bin/clang-import-test
237.068 [688/38/6024] Linking CXX executable bin/clang-repl
242.510 [688/37/6025] Linking CXX shared library lib/libclang.so.20.0.0git
243.360 [688/36/6026] Linking CXX executable bin/clang-20
243.528 [688/35/6027] Linking CXX shared library lib/libclang-cpp.so.20.0git
249.244 [688/34/6028] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
251.963 [688/33/6029] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o
FAILED: tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/build/tools/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/flang/lib/Optimizer/OpenMP -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/llvm/../clang/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -g -DDEBUGF18 -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -MF tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o.d -o tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapInfoFinalization.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-debug-reverse-iteration/llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:111:36: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::Type, mlir::Value &, mlir::TypeAttr, mlir::Value &, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, mlir::OperandRange, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
  111 |     mlir::Value baseAddr = builder.create<mlir::omp::MapInfoOp>(
      |                                    ^
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4537:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4537 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4539:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4539 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type omp_ptr, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                   ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4538:15: note: candidate function not viable: no known conversion from 'mlir::DenseIntElementsAttr' to '::mlir::ArrayAttr' for 8th argument
 4538 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::TypeAttr var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, ::mlir::BoolAttr partial_map);
      |               ^                                                                                                                                                                                                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4540:15: note: candidate function not viable: no known conversion from 'mlir::TypeAttr' to '::mlir::Type' for 5th argument
 4540 |   static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value var_ptr, ::mlir::Type var_type, /*optional*/::mlir::Value var_ptr_ptr, ::mlir::ValueRange members, /*optional*/::mlir::ArrayAttr members_index, ::mlir::ValueRange bounds, /*optional*/::mlir::IntegerAttr map_type, /*optional*/::mlir::omp::VariableCaptureKindAttr map_capture_type, /*optional*/::mlir::StringAttr name, bool partial_map = false);
      |               ^                                                                                                                            ~~~~~~~~~~~~~~~~~~~~~
tools/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.h.inc:4541:15: note: candidate function not viable: requires at most 5 arguments, but 13 were provided
 4541 |   static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
      |               ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:27:
In file included from ../llvm-project/flang/include/flang/Optimizer/Builder/FIRBuilder.h:20:
In file included from ../llvm-project/flang/include/flang/Optimizer/Dialect/FIROps.h:17:
In file included from ../llvm-project/mlir/include/mlir/Dialect/Arith/IR/Arith.h:19:
In file included from ../llvm-project/mlir/include/mlir/Interfaces/InferTypeOpInterface.h:18:
../llvm-project/mlir/include/mlir/IR/Builders.h:517:11: error: no matching member function for call to 'build'
  517 |     OpTy::build(*this, state, std::forward<Args>(args)...);
      |     ~~~~~~^~~~~
../llvm-project/flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp:129:17: note: in instantiation of function template specialization 'mlir::OpBuilder::create<mlir::omp::MapInfoOp, mlir::omp::PointerLikeType, mlir::Value &, mlir::TypeAttr, mlir::Value, llvm::SmallVector<mlir::Value>, mlir::DenseIntElementsAttr, llvm::SmallVector<mlir::Value>, mlir::IntegerAttr, mlir::omp::VariableCaptureKindAttr, mlir::StringAttr, mlir::BoolAttr>' requested here
  129 |         builder.create<mlir::omp::MapInfoOp>(
      |                 ^

@agozillon
Copy link
Contributor Author

All expected explosions unfortunately as it depends on the other PR, this is the PR to worry about failures on: #113557 as it's the one layered on top that should pass.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Nov 16, 2024

LLVM Buildbot has detected a new failure on builder sanitizer-x86_64-linux-fast running on sanitizer-buildbot4 while building mlir at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/169/builds/5367

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87238 of 87239 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir (78049 of 87238)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
Step 10 (stage2/asan_ubsan check) failure: stage2/asan_ubsan check (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87238 of 87239 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir (78049 of 87238)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found
Step 13 (stage2/msan check) failure: stage2/msan check (failure)
...
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/lld-link
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87236 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
FAIL: MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir (67521 of 87236)
******************** TEST 'MLIR :: Target/LLVMIR/omptarget-data-use-dev-ordering.mlir' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# note: command had no output on stdout or stderr
# executed command: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# .---command stderr------------
# | /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir:70:11: error: CHECK: expected string not found in input
# | // CHECK: %[[BASEPTR_0_GEP:.*]] = getelementptr inbounds [8 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |           ^
# | <stdin>:32:26: note: scanning from here
# |  %9 = alloca ptr, align 8
# |                          ^
# | <stdin>:50:2: note: possible intended match here
# |  %22 = getelementptr inbounds [10 x ptr], ptr %.offload_baseptrs, i32 0, i32 0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            27: define void @mix_use_device_ptr_and_addr_and_map_(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7) { 
# |            28:  %.offload_baseptrs = alloca [10 x ptr], align 8 
# |            29:  %.offload_ptrs = alloca [10 x ptr], align 8 
# |            30:  %.offload_mappers = alloca [10 x ptr], align 8 
# |            31:  %.offload_sizes = alloca [10 x i64], align 4 
# |            32:  %9 = alloca ptr, align 8 
# | check:70'0                              X error: no match found

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants