Skip to content

[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner #142025

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 3 commits into from
Jun 4, 2025

Conversation

hanhanW
Copy link
Contributor

@hanhanW hanhanW commented May 29, 2025

The issue occurs during a downstream pass which does dialect conversion, where both FuncOpConversion and SubviewFolder are run together. The original starting IR is:

module {
  func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
    %subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
    return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
  }
}

After FuncOpConversion runs, the IR looks like:

"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
  ^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
    %0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
    "func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
  }) : () -> ()
  "func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
  }) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()

The <<UNKNOWN SSA VALUE>>'s here are block arguments of a separate unlinked block, which is disconnected from the rest of the IR (so not only is the IR verifier-invalid, it can't even be parsed). This IR is created by signature conversion in the dialect conversion infra.

Now SubviewFolder is applied, and the utility function here is called on one of these disconnected block arguments, causing a crash.

The TestMemRefToLLVMWithTransforms pass is introduced to exercise the bug, and it can be reused by other contributors in the future.

Co-authored-by: Rahul Kayaith rkayaith@gmail.com

@llvmbot
Copy link
Member

llvmbot commented May 29, 2025

@llvm/pr-subscribers-mlir-core
@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-affine

Author: Han-Chung Wang (hanhanW)

Changes

This issue is triggered in a downstream project, and it is hard to generate the reproducer and the test. The issue is at this line containingOp is null as the block argument owning ivArg is unlinked if dialect conversion is involved.

iree-org/iree#20928 (comment)

Co-authored-by: Rahul Kayaith <rkayaith@gmail.com>


Full diff: https://github.com/llvm/llvm-project/pull/142025.diff

1 Files Affected:

  • (modified) mlir/lib/Dialect/Affine/IR/AffineOps.cpp (+1-1)
diff --git a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
index 2364f8957992d..8a708eb29210c 100644
--- a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
+++ b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
@@ -2667,7 +2667,7 @@ AffineParallelOp mlir::affine::getAffineParallelInductionVarOwner(Value val) {
   if (!ivArg || !ivArg.getOwner())
     return nullptr;
   Operation *containingOp = ivArg.getOwner()->getParentOp();
-  auto parallelOp = dyn_cast<AffineParallelOp>(containingOp);
+  auto parallelOp = dyn_cast_if_present<AffineParallelOp>(containingOp);
   if (parallelOp && llvm::is_contained(parallelOp.getIVs(), val))
     return parallelOp;
   return nullptr;

@joker-eph
Copy link
Collaborator

I sympathize that it is hard to provide a repro, but we still need to be able to test behaviors upstream.

@rkayaith
Copy link
Member

Probably a C++ unit test would be the easiest approach here, since you can directly create an unlinked block. Thise seems like a decent example to base the test on:

TEST(IRMapping, TypedValue) {
MLIRContext context;
context.loadDialect<test::TestDialect>();
OpBuilder builder(&context);
Location loc = builder.getUnknownLoc();
Block block;

@hanhanW
Copy link
Contributor Author

hanhanW commented May 29, 2025

I sympathize that it is hard to provide a repro, but we still need to be able to test behaviors upstream.

I can try, but I'm not sure if I'm able to do it. The other way to think about the change is that it has a safer check for the method. We already check if it is null in the above check, and it is adding an additional check.

I don't find direct test for this method in the first commit: 3e497a1 Maybe I can construct a test using c++, but it looks a little over-indexing on testing to me.

@hanhanW
Copy link
Contributor Author

hanhanW commented May 29, 2025

Probably a C++ unit test would be the easiest approach here, since you can directly create an unlinked block. Thise seems like a decent example to base the test on:

TEST(IRMapping, TypedValue) {
MLIRContext context;
context.loadDialect<test::TestDialect>();
OpBuilder builder(&context);
Location loc = builder.getUnknownLoc();
Block block;

Ah, thanks for the pointer, I'll take a look. My point was that we don't have the bar for all the utilities, and it seems a little weird for this additional check. But yeah, I can try if people think that it is a requirement.

@joker-eph
Copy link
Collaborator

We don't use c++ unit-test in general, but we use test passes.

Maybe you can comment a bit more on how you end up in this situation and figure out about the missing upstream coverage and what kind of test-passes would provide the missing coverage for this utility?

@rkayaith
Copy link
Member

rkayaith commented May 29, 2025

The issue occurs during a downstream pass which does dialect conversion, where both FuncOpConversion and SubviewFolder are run together. The original starting IR is:

module {
  func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
    %subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
    return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
  }
}

After FuncOpConversion runs, the IR looks like:

"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
  ^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
    %0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
    "func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
  }) : () -> ()
  "func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
  }) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()

The <<UNKNOWN SSA VALUE>>'s here are block arguments of a separate unlinked block, which is disconnected from the rest of the IR (so not only is the IR verifier-invalid, it can't even be parsed). This IR is created by signature conversion in the dialect conversion infra.

Now SubviewFolder is applied, and the utility function here is called on one of these disconnected block arguments, causing a crash.

@hanhanW
Copy link
Contributor Author

hanhanW commented May 30, 2025

Thanks @rkayaith for the details, I copied it to the PR description and added my own few wordings about why no additinoal test is added. Please take a look, thanks!

It is hard to construct the reproducer in upstream because upstream does not have such setup. Adding a pass for such case is over-indexing on testing. Since it is a safer check and the method returns null to let callers handle the failure, making one-line change without tests is reasonable.

@joker-eph
Copy link
Collaborator

joker-eph commented May 30, 2025

Since it is a safer check and the method returns null to let callers handle the failure, making one-line change without tests is reasonable.

I'm not concerned about the change itself, it's pretty trivial, but about the upstream test coverage in general. It happens that there are things we can't have coverage for, but it's pretty rare.

I don't feel this case falls into this category right now. I can construct a test case as follows:

diff --git a/mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td b/mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
index 2d060f3c2da6..f30a57ce38f7 100644
--- a/mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
+++ b/mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
@@ -84,7 +84,7 @@ def ApplyExpandOpsPatternsOp : Op<Transform_Dialect,
 
 def ApplyExpandStridedMetadataPatternsOp : Op<Transform_Dialect,
     "apply_patterns.memref.expand_strided_metadata",
-    [DeclareOpInterfaceMethods<PatternDescriptorOpInterface>]> {
+    [DeclareOpInterfaceMethods<ConversionPatternDescriptorOpInterface>]> {
   let description = [{
     Collects patterns for expanding memref operations that modify the metadata
     (sizes, offset, strides) of a memref into easier to analyze constructs.
diff --git a/mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp b/mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
index 89640ac323b6..2de8d08cdc09 100644
--- a/mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
+++ b/mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
@@ -107,7 +107,7 @@ void transform::ApplyExpandOpsPatternsOp::populatePatterns(
 }
 
 void transform::ApplyExpandStridedMetadataPatternsOp::populatePatterns(
-    RewritePatternSet &patterns) {
+    TypeConverter &typeConverter, RewritePatternSet &patterns) {
   memref::populateExpandStridedMetadataPatterns(patterns);
 }
 
diff --git a/mlir/test/Conversion/MemRefToLLVM/memref-subviewfolder-to-llvm.mlir b/mlir/test/Conversion/MemRefToLLVM/memref-subviewfolder-to-llvm.mlir
new file mode 100644
index 000000000000..9dca88fda118
--- /dev/null
+++ b/mlir/test/Conversion/MemRefToLLVM/memref-subviewfolder-to-llvm.mlir
@@ -0,0 +1,26 @@
+// RUN: mlir-opt -transform-interpreter %s | FileCheck  %s
+
+module {
+  func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
+    %subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
+    return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
+  }
+}
+
+module attributes {transform.with_named_sequence} {
+  transform.named_sequence @__transform_main(%toplevel_module: !transform.any_op {transform.readonly}) {
+    %func = transform.structured.match ops{["func.func"]} in %toplevel_module
+      : (!transform.any_op) -> !transform.any_op
+    transform.apply_conversion_patterns to %func {
+      transform.apply_conversion_patterns.func.func_to_llvm
+      transform.apply_patterns.memref.expand_strided_metadata
+    } with type_converter {
+      transform.apply_conversion_patterns.memref.memref_to_llvm_type_converter
+        {index_bitwidth = 32, use_opaque_pointers = true}
+    } {
+      legal_dialects = ["llvm"],
+      partial_conversion
+    } : !transform.any_op
+    transform.yield
+  }
+}

It's a bit annoying that we can't easily include rewrite patterns through transform.apply_conversion_patterns, @ftynse is it possible to extend transform.apply_conversion_patterns to allow rewrite patterns alongside conversion ones?

hanhanW added a commit to iree-org/iree that referenced this pull request May 31, 2025
Carrying revert:
-
iree-org/llvm-project@1485df6

Cherry-pick:
-
iree-org/llvm-project@1b7547d
(Mirror of llvm/llvm-project#142025)

The revision also pathes torch-mlir for getBackwardSlice changes:
iree-org/torch-mlir@05a9860

The changes in IREE are for
llvm/llvm-project@6a8dde0

Closes #20928

---------

Signed-off-by: hanhanW <hanhan0912@gmail.com>
Signed-off-by: hanhanW <hanhan0912@gmail.com>
@llvmbot llvmbot added the mlir:core MLIR Core Infrastructure label Jun 2, 2025
@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 2, 2025

@joker-eph many thanks for spending your time on this! I'm a little concerned about the change in transform ops because of this simple change. I did not find any use cases in the upstream repo, and I'm afraid that if it'd break other downstream projects. I'm not familiar with the setup, but we'd no longer be able to use it in transform.apply_patterns, right?

We also find a comment in TransformInterfaces.td that discourages non-conversion rewrite patterns in the transform op.

def ConversionPatternDescriptorOpInterface
: OpInterface<"ConversionPatternDescriptorOpInterface"> {
let description = [{
This interface should be implemented by ops that select conversion patterns
of a `transform.apply_patterns` op. It provides a method to populate a
rewrite pattern set with conversion patterns.
Note: Non-conversion rewrite patterns should not be populated with
`ConversionPatternDescriptorOpInterface` because it is not generally safe
to use non-conversion rewrite patterns as part of a dialect conversion.
}];

For transform dialect test, I can follow up on it once we have better setup in upstream. My main goal of the PR is dropping the cherry-pick in our project, so I took a stab at writing the C++ pass. Hopefully, it can address your concern and other contributors can reuse the testing pass in the future, thanks!

Copy link
Member

@kuhar kuhar left a comment

Choose a reason for hiding this comment

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

LGTM

Signed-off-by: hanhanW <hanhan0912@gmail.com>
@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 3, 2025

Thanks for the review. I plan to land the PR tomorrow, just in case if others want to take another look.

@hanhanW hanhanW merged commit c3746ff into llvm:main Jun 4, 2025
9 of 11 checks passed
@hanhanW hanhanW deleted the iree-issue-20928 branch June 4, 2025 13:51
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

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

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

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
48.162 [40/16/5197] Linking C executable bin/mlir-capi-pdl-test
48.179 [39/16/5198] Linking C executable bin/mlir-capi-transform-test
48.215 [38/16/5199] Linking C executable bin/mlir-capi-rewrite-test
48.215 [37/16/5200] Linking C executable bin/mlir-capi-quant-test
48.255 [36/16/5201] Linking C executable bin/mlir-capi-pass-test
48.256 [35/16/5202] Linking C executable bin/mlir-capi-ir-test
48.266 [34/16/5203] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
48.268 [33/16/5204] Linking C executable bin/mlir-capi-sparse-tensor-test
48.274 [32/16/5205] Creating library symlink lib/libMLIRFuncTestPasses.so
48.280 [31/16/5206] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/clang++ -fPIC -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 -Wundef -Werror=mismatched-tags -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRSubsetOpInterface.so.21.0git  lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib && :
ld.lld: error: undefined symbol: mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)
>>> referenced by TestMemRefToLLVMWithTransforms.cpp
>>>               tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o:((anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation())

ld.lld: error: undefined symbol: mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)
>>> referenced by TestMemRefToLLVMWithTransforms.cpp
>>>               tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o:((anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation())

ld.lld: error: undefined symbol: mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)
>>> referenced by TestMemRefToLLVMWithTransforms.cpp
>>>               tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o:((anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation())

ld.lld: error: undefined symbol: mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)
>>> referenced by TestMemRefToLLVMWithTransforms.cpp
>>>               tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o:((anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation())
clang: error: linker command failed with exit code 1 (use -v to see invocation)
48.298 [31/15/5207] Linking C executable bin/mlir-capi-transform-interpreter-test
48.309 [31/14/5208] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
48.313 [31/13/5209] Linking C executable bin/mlir-capi-translation-test
48.328 [31/12/5210] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirAsyncPasses.cpython-310-x86_64-linux-gnu.so
48.333 [31/11/5211] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
48.358 [31/10/5212] Linking CXX shared library lib/libMLIRTestIR.so.21.0git
48.360 [31/9/5213] Linking CXX shared library lib/libMLIRTestPDLL.so.21.0git
48.395 [31/8/5214] Linking CXX shared library lib/libMLIRTestPass.so.21.0git
48.397 [31/7/5215] Linking CXX shared library lib/libMLIRTestTransforms.so.21.0git
48.397 [31/6/5216] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirGPUPasses.cpython-310-x86_64-linux-gnu.so
48.401 [31/5/5217] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsGPU.cpython-310-x86_64-linux-gnu.so
48.445 [31/4/5218] Linking CXX executable bin/mlir-runner
48.452 [31/3/5219] Linking CXX executable bin/mlir-query
62.374 [31/2/5220] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
62.557 [31/1/5221] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-8-cmake-build-only running on rocm-docker-rhel-8 while building mlir at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[7184/7846] Creating library symlink lib/liblldMachO.so
[7185/7846] Linking CXX shared library lib/libMLIRROCDLTarget.so.21.0git
[7186/7846] Creating library symlink lib/libMLIRROCDLTarget.so
[7187/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[7188/7846] Creating library symlink lib/libMLIRTestAnalysis.so
[7189/7846] Linking CXX executable bin/lld
[7190/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[7191/7846] Creating library symlink lib/libMLIRTestFuncToLLVM.so
[7192/7846] Linking CXX shared library lib/libMLIRGPUTransforms.so.21.0git
[7193/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLI
0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  -lpthread  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: In function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x51): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x61): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x133): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x167): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[7194/7846] Creating library symlink lib/libMLIRGPUTransforms.so
[7195/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[7196/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/DoLoopHelper.cpp.o
[7197/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Complex.cpp.o
[7198/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7199/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[7200/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/LowLevelIntrinsics.cpp.o
[7201/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/CUDA/Descriptor.cpp.o
[7202/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Allocatable.cpp.o
[7203/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Assign.cpp.o
[7204/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/ArrayConstructor.cpp.o
[7205/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/BoxValue.cpp.o
[7206/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Command.cpp.o
[7207/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Character.cpp.o
[7208/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/MutableBox.cpp.o
[7209/7846] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/TBAAForest.cpp.o
[7210/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7211/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[7212/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Character.cpp.o
[7213/7846] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
[7214/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[7215/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/HLFIRTools.cpp.o
[7216/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/CUFCommon.cpp.o
[7217/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
[7218/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7219/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/PPCIntrinsicCall.cpp.o
[7220/7846] Building CXX object tools/flang/lib/FrontendTool/CMakeFiles/flangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[7221/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
[7222/7846] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
[7223/7846] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[7184/7846] Creating library symlink lib/liblldMachO.so
[7185/7846] Linking CXX shared library lib/libMLIRROCDLTarget.so.21.0git
[7186/7846] Creating library symlink lib/libMLIRROCDLTarget.so
[7187/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[7188/7846] Creating library symlink lib/libMLIRTestAnalysis.so
[7189/7846] Linking CXX executable bin/lld
[7190/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[7191/7846] Creating library symlink lib/libMLIRTestFuncToLLVM.so
[7192/7846] Linking CXX shared library lib/libMLIRGPUTransforms.so.21.0git
[7193/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLI
0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  -lpthread  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-8-cmake-build-only/build/lib && :
tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: In function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x51): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x61): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x133): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x167): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[7194/7846] Creating library symlink lib/libMLIRGPUTransforms.so
[7195/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[7196/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/DoLoopHelper.cpp.o
[7197/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Complex.cpp.o
[7198/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7199/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[7200/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/LowLevelIntrinsics.cpp.o
[7201/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/CUDA/Descriptor.cpp.o
[7202/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Allocatable.cpp.o
[7203/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Assign.cpp.o
[7204/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/ArrayConstructor.cpp.o
[7205/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/BoxValue.cpp.o
[7206/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Command.cpp.o
[7207/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Character.cpp.o
[7208/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/MutableBox.cpp.o
[7209/7846] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/TBAAForest.cpp.o
[7210/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7211/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[7212/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Character.cpp.o
[7213/7846] Building CXX object tools/flang/lib/Optimizer/Analysis/CMakeFiles/FIRAnalysis.dir/AliasAnalysis.cpp.o
[7214/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[7215/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/HLFIRTools.cpp.o
[7216/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/CUFCommon.cpp.o
[7217/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/FIRBuilder.cpp.o
[7218/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7219/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/PPCIntrinsicCall.cpp.o
[7220/7846] Building CXX object tools/flang/lib/FrontendTool/CMakeFiles/flangFrontendTool.dir/ExecuteCompilerInvocation.cpp.o
[7221/7846] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/IntrinsicCall.cpp.o
[7222/7846] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
[7223/7846] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-rhel-9-cmake-build-only running on rocm-docker-rhel-9 while building mlir at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[7221/7846] Linking C executable bin/clang-fuzzer-dictionary
[7222/7846] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
[7223/7846] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
[7224/7846] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
[7225/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[7226/7846] Creating library symlink lib/libMLIRDLTITestPasses.so
[7227/7846] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
[7228/7846] Creating library symlink lib/libMLIRTestFuncToLLVM.so
[7229/7846] Linking CXX shared library lib/libMLIRMemRefTestPasses.so.21.0git
[7230/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-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 -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libML
ibMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x51): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x69): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x12c): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x15d): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[7231/7846] Creating library symlink lib/libMLIRBufferizationTestPasses.so
[7232/7846] Creating library symlink lib/libMLIRMemRefTestPasses.so
[7233/7846] Linking CXX executable bin/mlir-rewrite
[7234/7846] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
[7235/7846] Linking CXX executable bin/mlir-runner
[7236/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[7237/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[7238/7846] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
[7239/7846] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
[7240/7846] Linking CXX shared library lib/libMLIRTestIR.so.21.0git
[7241/7846] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFToLLVMIRTranslation.cpp.o
[7242/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
[7243/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7244/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConstantArgumentGlobalisation.cpp.o
[7245/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ExternalNameConversion.cpp.o
[7246/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
[7247/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7248/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[7249/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFGPUToLLVMConversion.cpp.o
[7250/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
[7251/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffineDemotion.cpp.o
[7252/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[7253/7846] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7254/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/GenericLoopConversion.cpp.o
[7255/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[7256/7846] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[7257/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7258/7846] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[7259/7846] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[7260/7846] Building CXX object tools/flang/tools/fir-lsp-server/CMakeFiles/fir-lsp-server.dir/fir-lsp-server.cpp.o
Step 7 (build cmake config) failure: build cmake config (failure)
...
[7221/7846] Linking C executable bin/clang-fuzzer-dictionary
[7222/7846] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
[7223/7846] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
[7224/7846] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
[7225/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[7226/7846] Creating library symlink lib/libMLIRDLTITestPasses.so
[7227/7846] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
[7228/7846] Creating library symlink lib/libMLIRTestFuncToLLVM.so
[7229/7846] Linking CXX shared library lib/libMLIRMemRefTestPasses.so.21.0git
[7230/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-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 -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libML
ibMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-rhel-9-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x51): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x69): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x12c): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x15d): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[7231/7846] Creating library symlink lib/libMLIRBufferizationTestPasses.so
[7232/7846] Creating library symlink lib/libMLIRMemRefTestPasses.so
[7233/7846] Linking CXX executable bin/mlir-rewrite
[7234/7846] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
[7235/7846] Linking CXX executable bin/mlir-runner
[7236/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[7237/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[7238/7846] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
[7239/7846] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
[7240/7846] Linking CXX shared library lib/libMLIRTestIR.so.21.0git
[7241/7846] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFToLLVMIRTranslation.cpp.o
[7242/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MarkDeclareTarget.cpp.o
[7243/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[7244/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ConstantArgumentGlobalisation.cpp.o
[7245/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ExternalNameConversion.cpp.o
[7246/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/ControlFlowConverter.cpp.o
[7247/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[7248/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[7249/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/CUFGPUToLLVMConversion.cpp.o
[7250/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/MapsForPrivatizedSymbols.cpp.o
[7251/7846] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/AffineDemotion.cpp.o
[7252/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[7253/7846] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
[7254/7846] Building CXX object tools/flang/lib/Optimizer/OpenMP/CMakeFiles/FlangOpenMPTransforms.dir/GenericLoopConversion.cpp.o
[7255/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[7256/7846] Building CXX object tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o
[7257/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[7258/7846] Building CXX object tools/flang/tools/tco/CMakeFiles/tco.dir/tco.cpp.o
[7259/7846] Building CXX object tools/flang/tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o
[7260/7846] Building CXX object tools/flang/tools/fir-lsp-server/CMakeFiles/fir-lsp-server.dir/fir-lsp-server.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

LLVM Buildbot has detected a new failure on builder amdgpu-offload-ubuntu-22-cmake-build-only running on rocm-docker-ubu-22 while building mlir at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py --jobs=32' (failure)
...
[6772/7846] Creating library symlink lib/libMLIRLinalgTransformOps.so
[6773/7846] Linking CXX shared library lib/libMLIRCAPISparseTensor.so.21.0git
[6774/7846] Creating library symlink lib/libMLIRCAPISparseTensor.so
[6775/7846] Linking CXX shared library lib/libMLIRSparseTensorTransformOps.so.21.0git
[6776/7846] Creating library symlink lib/libMLIRSparseTensorTransformOps.so
[6777/7846] Linking CXX shared library lib/libMLIRTestDialect.so.21.0git
[6778/7846] Creating library symlink lib/libMLIRTestDialect.so
[6779/7846] Linking CXX shared library lib/libMLIRMemRefTestPasses.so.21.0git
[6780/7846] Creating library symlink lib/libMLIRMemRefTestPasses.so
[6781/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-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 -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib
 lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[6782/7846] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
[6783/7846] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
[6784/7846] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
[6785/7846] Linking CXX shared library lib/libMLIRTestPDLL.so.21.0git
[6786/7846] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
[6787/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[6788/7846] Linking CXX shared library lib/libMLIRTestIR.so.21.0git
[6789/7846] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
[6790/7846] Linking CXX shared library lib/libMLIRTestTransforms.so.21.0git
[6791/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[6792/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[6793/7846] Building InstCombineTables.inc...
[6794/7846] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6795/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6796/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6797/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6798/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6799/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6800/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6801/7846] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 50, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 41, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 63, in run_command
    util.report_run_cmd(cmd, cwd=directory)
Step 7 (build cmake config) failure: build cmake config (failure)
...
[6772/7846] Creating library symlink lib/libMLIRLinalgTransformOps.so
[6773/7846] Linking CXX shared library lib/libMLIRCAPISparseTensor.so.21.0git
[6774/7846] Creating library symlink lib/libMLIRCAPISparseTensor.so
[6775/7846] Linking CXX shared library lib/libMLIRSparseTensorTransformOps.so.21.0git
[6776/7846] Creating library symlink lib/libMLIRSparseTensorTransformOps.so
[6777/7846] Linking CXX shared library lib/libMLIRTestDialect.so.21.0git
[6778/7846] Creating library symlink lib/libMLIRTestDialect.so
[6779/7846] Linking CXX shared library lib/libMLIRMemRefTestPasses.so.21.0git
[6780/7846] Creating library symlink lib/libMLIRMemRefTestPasses.so
[6781/7846] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-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 -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib
 lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
[6782/7846] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
[6783/7846] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
[6784/7846] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
[6785/7846] Linking CXX shared library lib/libMLIRTestPDLL.so.21.0git
[6786/7846] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
[6787/7846] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
[6788/7846] Linking CXX shared library lib/libMLIRTestIR.so.21.0git
[6789/7846] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
[6790/7846] Linking CXX shared library lib/libMLIRTestTransforms.so.21.0git
[6791/7846] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
[6792/7846] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
[6793/7846] Building InstCombineTables.inc...
[6794/7846] Building CXX object tools/flang/lib/Support/CMakeFiles/FortranSupport.dir/OpenMP-utils.cpp.o
[6795/7846] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/cmake_pch.hxx.gch
[6796/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/intrinsics.test.dir/intrinsics.cpp.o
[6797/7846] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
[6798/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
[6799/7846] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/expression.test.dir/expression.cpp.o
[6800/7846] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/cmake_pch.hxx.gch
[6801/7846] Building CXX object tools/flang/tools/f18-parse-demo/CMakeFiles/f18-parse-demo.dir/f18-parse-demo.cpp.o
ninja: build stopped: subcommand failed.
['ninja'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 50, in step
    yield
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 41, in main
    run_command(["ninja"])
  File "/home/botworker/bbot/amdgpu-offload-ubuntu-22-cmake-build-only/build/../llvm-zorg/zorg/buildbot/builders/annotated/amdgpu-offload-cmake.py", line 63, in run_command
    util.report_run_cmd(cmd, cwd=directory)

@jplehr
Copy link
Contributor

jplehr commented Jun 4, 2025

Hi, is someone looking into this breakage? It appears to be missing a dependency.
Thank you.

trcrsired pushed a commit to trcrsired/llvm-project that referenced this pull request Jun 4, 2025
…ctionVarOwner (llvm#142025)"

This reverts commit c3746ff.

This breaks build with BUILD_SHARED_LIBS=ON.

```
/usr/bin/ld: CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:[ 88%] Built target CodeGenTests
(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEvmake[2]: Leaving directory '/work2/kparzysz/git/llvm.org/b/x86'
+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
```
@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 4, 2025

Hi, is someone looking into this breakage? It appears to be missing a dependency. Thank you.

Sorry about that and thanks for the revert. I'm looking at it and I'll land it with the fix.

@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 4, 2025

I'm confused that why it is not detected by other presubmit cmake build, including my local cmake build.

@jplehr
Copy link
Contributor

jplehr commented Jun 4, 2025

I'm confused that why it is not detected by other presubmit cmake build, including my local cmake build.

You can reproduce the build config we use on the amdgpu buildbots from using the CMake cache file in offload/cmake/caches/AMDGPUBot.cmake

@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 4, 2025

I'm confused that why it is not detected by other presubmit cmake build, including my local cmake build.

You can reproduce the build config we use on the amdgpu buildbots from using the CMake cache file in offload/cmake/caches/AMDGPUBot.cmake

Thanks, I can reproduce it locally, and I will re-land the PR with the fix.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

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/13855

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
1135.762 [297/62/7289] Creating library symlink lib/libMyExtensionCh3.so
1135.762 [297/61/7290] Creating library symlink lib/libMyExtensionCh4.so
1135.769 [294/63/7291] Creating library symlink lib/libclangAST.so
1135.770 [294/62/7292] Creating library symlink lib/libclangRewrite.so
1136.237 [293/62/7293] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
1136.444 [293/61/7294] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
1136.870 [293/60/7295] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/attr.cpp.o
1137.054 [293/59/7296] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
1137.120 [293/58/7297] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
1137.160 [293/57/7298] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/local/bin/c++ -fPIC -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 -Wundef -Werror=mismatched-tags -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRSubsetOpInterface.so.21.0git  lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x40): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x54): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0xac): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0xd0): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
1137.204 [293/56/7299] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
1137.455 [293/55/7300] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
1138.180 [293/54/7301] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/openmp-dsa.cpp.o
1138.463 [293/53/7302] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/tools.cpp.o
1139.258 [293/52/7303] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-if-stmt.cpp.o
1139.523 [293/51/7304] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-purity.cpp.o
1139.820 [293/50/7305] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/token-sequence.cpp.o
1140.140 [293/49/7306] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-return.cpp.o
1140.405 [293/48/7307] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/source.cpp.o
1141.005 [293/47/7308] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-arithmeticif.cpp.o
1141.027 [293/46/7309] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-namelist.cpp.o
1141.827 [293/45/7310] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/openmp-modifiers.cpp.o
1142.814 [293/44/7311] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/provenance.cpp.o
1143.006 [293/43/7312] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/prescan.cpp.o
1143.696 [293/42/7313] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-nullify.cpp.o
1145.606 [293/41/7314] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/program-tree.cpp.o
1146.492 [293/40/7315] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/user-state.cpp.o
1147.109 [293/39/7316] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-stop.cpp.o
1147.632 [293/38/7317] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/preprocessor.cpp.o
1152.191 [293/37/7318] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-allocate.cpp.o
1155.738 [293/36/7319] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-select-type.cpp.o
1157.038 [293/35/7320] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/compute-offsets.cpp.o
1168.941 [293/34/7321] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/dump-expr.cpp.o
1182.460 [293/33/7322] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-declarations.cpp.o
1183.249 [293/32/7323] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-deallocate.cpp.o
1189.307 [293/31/7324] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-select-rank.cpp.o
1198.145 [293/30/7325] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/assignment.cpp.o
1206.840 [293/29/7326] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-acc-structure.cpp.o
1208.474 [293/28/7327] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-io.cpp.o
1215.342 [293/27/7328] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/ConvertExpr.cpp.o
1216.259 [293/26/7329] Building CXX object tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-data.cpp.o

@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 4, 2025

again... I verified that the AMDGPU one is happy, I should check all the bots.. I'll revert it. Sorry about that.

@hanhanW
Copy link
Contributor Author

hanhanW commented Jun 4, 2025

oh, I misread the PR status. It is a late notification, but not saying my fix in the other PR is causing the issue.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jun 4, 2025

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/13563

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
736.024 [794/19/6641] Linking CXX shared library lib/libMLIRCAPIVector.so.21.0git
736.028 [794/18/6642] Linking CXX shared library lib/libMLIRCAPITransformDialectTransforms.so.21.0git
736.030 [794/17/6643] Linking CXX shared library lib/libMLIRCAPIOpenMP.so.21.0git
736.031 [794/16/6644] Linking CXX shared library lib/libMLIRCAPIROCDL.so.21.0git
736.036 [794/15/6645] Linking CXX shared library lib/libMLIRCAPITransformDialect.so.21.0git
736.059 [794/14/6646] Linking CXX shared library lib/libMLIRCAPINVVM.so.21.0git
736.085 [794/13/6647] Linking CXX shared library lib/libMLIRCAPISparseTensor.so.21.0git
736.098 [794/12/6648] Linking CXX shared library lib/libMLIRCAPISPIRV.so.21.0git
736.158 [794/11/6649] Linking CXX shared library lib/libMLIRMemRefTestPasses.so.21.0git
736.253 [794/10/6650] Linking CXX shared library lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git
FAILED: lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git 
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -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 -Wundef -Wno-unused-but-set-parameter -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestMemRefToLLVMWithTransforms.so.21.0git -o lib/libMLIRTestMemRefToLLVMWithTransforms.so.21.0git tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRPtrDialect.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRRewrite.so.21.0git  lib/libMLIRRewritePDL.so.21.0git  lib/libMLIRPDLToPDLInterp.so.21.0git  lib/libMLIRPass.so.21.0git  lib/libMLIRPDLInterpDialect.so.21.0git  lib/libMLIRPDLDialect.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRSubsetOpInterface.so.21.0git  lib/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Conversion/MemRefToLLVM/CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x7c): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0xd8): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x100): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
collect2: error: ld returned 1 exit status
736.313 [794/9/6651] Linking CXX shared library lib/libMLIRDLTITestPasses.so.21.0git
736.320 [794/8/6652] Linking CXX shared library lib/libMLIRBufferizationTestPasses.so.21.0git
736.349 [794/7/6653] Linking CXX shared library lib/libMLIRFuncTestPasses.so.21.0git
736.366 [794/6/6654] Linking CXX shared library lib/libMLIRTestToLLVMIRTranslation.so.21.0git
736.412 [794/5/6655] Linking CXX shared library lib/libMLIRTestFromLLVMIRTranslation.so.21.0git
736.512 [794/4/6656] Linking CXX shared library lib/libMLIRAffineTransformsTestPasses.so.21.0git
736.555 [794/3/6657] Linking CXX shared library lib/libMLIRTestFuncToLLVM.so.21.0git
737.065 [794/2/6658] Linking CXX shared library lib/libMLIRTestAnalysis.so.21.0git
752.447 [794/1/6659] Building CXX object tools/flang/lib/Evaluate/CMakeFiles/FortranEvaluate.dir/intrinsics.cpp.o
ninja: build stopped: subcommand failed.

rorth pushed a commit to rorth/llvm-project that referenced this pull request Jun 11, 2025
…Owner (llvm#142025)

The issue occurs during a downstream pass which does dialect conversion,
where both
[`FuncOpConversion`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L480)
and
[`SubviewFolder`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp#L187)
are run together. The original starting IR is:
```mlir
module {
  func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
    %subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
    return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
  }
}
```


After `FuncOpConversion` runs, the IR looks like:
```mlir
"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
  ^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
    %0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
    "func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
  }) : () -> ()
  "func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
  }) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()
```
The `<<UNKNOWN SSA VALUE>>`'s here are block arguments of a separate
unlinked block, which is disconnected from the rest of the IR (so not
only is the IR verifier-invalid, it can't even be parsed). This IR is
created by signature conversion in the dialect conversion infra.

Now `SubviewFolder` is applied, and the utility function here is called
on one of these disconnected block arguments, causing a crash.

The TestMemRefToLLVMWithTransforms pass is introduced to exercise the
bug, and it can be reused by other contributors in the future.

---------

Signed-off-by: hanhanW <hanhan0912@gmail.com>

Co-authored-by: Rahul Kayaith <rkayaith@gmail.com>
rorth pushed a commit to rorth/llvm-project that referenced this pull request Jun 11, 2025
…ctionVarOwner (llvm#142025)"

This reverts commit c3746ff.

This breaks build with BUILD_SHARED_LIBS=ON.

```
/usr/bin/ld: CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:[ 88%] Built target CodeGenTests
(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEvmake[2]: Leaving directory '/work2/kparzysz/git/llvm.org/b/x86'
+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
```
DhruvSrivastavaX pushed a commit to DhruvSrivastavaX/lldb-for-aix that referenced this pull request Jun 12, 2025
…Owner (llvm#142025)

The issue occurs during a downstream pass which does dialect conversion,
where both
[`FuncOpConversion`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L480)
and
[`SubviewFolder`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp#L187)
are run together. The original starting IR is:
```mlir
module {
  func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
    %subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
    return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
  }
}
```


After `FuncOpConversion` runs, the IR looks like:
```mlir
"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
  ^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
    %0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
    "func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
  }) : () -> ()
  "func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
  }) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()
```
The `<<UNKNOWN SSA VALUE>>`'s here are block arguments of a separate
unlinked block, which is disconnected from the rest of the IR (so not
only is the IR verifier-invalid, it can't even be parsed). This IR is
created by signature conversion in the dialect conversion infra.

Now `SubviewFolder` is applied, and the utility function here is called
on one of these disconnected block arguments, causing a crash.

The TestMemRefToLLVMWithTransforms pass is introduced to exercise the
bug, and it can be reused by other contributors in the future.

---------

Signed-off-by: hanhanW <hanhan0912@gmail.com>

Co-authored-by: Rahul Kayaith <rkayaith@gmail.com>
DhruvSrivastavaX pushed a commit to DhruvSrivastavaX/lldb-for-aix that referenced this pull request Jun 12, 2025
…ctionVarOwner (llvm#142025)"

This reverts commit c3746ff.

This breaks build with BUILD_SHARED_LIBS=ON.

```
/usr/bin/ld: CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:[ 88%] Built target CodeGenTests
(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEvmake[2]: Leaving directory '/work2/kparzysz/git/llvm.org/b/x86'
+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mlir:affine mlir:core MLIR Core Infrastructure mlir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants