Skip to content

[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt #111575

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

Conversation

andfau-amd
Copy link
Contributor

Adds a new mlir-opt test-only pass, -test-spirv-cpu-runner-pipeline, which runs the set of MLIR passes needed for the mlir-spirv-cpu-runner, and removes them from the runner. The tests are changed to invoke mlir-opt with this flag before running the runner. The eventual goal is to move all host/device code generation steps out of the runner, like with some of the other runners.

@llvmbot llvmbot added mlir:core MLIR Core Infrastructure mlir:spirv mlir labels Oct 8, 2024
@llvmbot
Copy link
Member

llvmbot commented Oct 8, 2024

@llvm/pr-subscribers-mlir-core

@llvm/pr-subscribers-mlir-spirv

Author: Andrea Faulds (andfau-amd)

Changes

Adds a new mlir-opt test-only pass, -test-spirv-cpu-runner-pipeline, which runs the set of MLIR passes needed for the mlir-spirv-cpu-runner, and removes them from the runner. The tests are changed to invoke mlir-opt with this flag before running the runner. The eventual goal is to move all host/device code generation steps out of the runner, like with some of the other runners.


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

6 Files Affected:

  • (modified) mlir/test/lib/Pass/CMakeLists.txt (+1)
  • (added) mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp (+87)
  • (modified) mlir/test/mlir-spirv-cpu-runner/double.mlir (+2-1)
  • (modified) mlir/test/mlir-spirv-cpu-runner/simple_add.mlir (+2-1)
  • (modified) mlir/tools/mlir-opt/mlir-opt.cpp (+2)
  • (modified) mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp (-24)
diff --git a/mlir/test/lib/Pass/CMakeLists.txt b/mlir/test/lib/Pass/CMakeLists.txt
index dd90c228cdaf5f..9f79944ff89684 100644
--- a/mlir/test/lib/Pass/CMakeLists.txt
+++ b/mlir/test/lib/Pass/CMakeLists.txt
@@ -2,6 +2,7 @@
 add_mlir_library(MLIRTestPass
   TestDynamicPipeline.cpp
   TestPassManager.cpp
+  TestSPIRVCPURunnerPipeline.cpp
 
   EXCLUDE_FROM_LIBMLIR
 
diff --git a/mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp b/mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
new file mode 100644
index 00000000000000..514b6fa6e3fd2b
--- /dev/null
+++ b/mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
@@ -0,0 +1,87 @@
+//===------------------ TestSPIRVCPURunnerPipeline.cpp --------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a pass for use by mlir-spirv-cpu-runner tests.
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h"
+#include "mlir/Conversion/GPUToSPIRV/GPUToSPIRVPass.h"
+#include "mlir/Conversion/SPIRVToLLVM/SPIRVToLLVMPass.h"
+#include "mlir/Dialect/Arith/IR/Arith.h"
+#include "mlir/Dialect/DLTI/DLTI.h"
+#include "mlir/Dialect/Func/IR/FuncOps.h"
+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
+#include "mlir/Dialect/GPU/Transforms/Passes.h"
+#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
+#include "mlir/Dialect/MemRef/IR/MemRef.h"
+#include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
+#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
+#include "mlir/Dialect/SPIRV/Transforms/Passes.h"
+#include "mlir/ExecutionEngine/JitRunner.h"
+#include "mlir/ExecutionEngine/OptUtils.h"
+#include "mlir/IR/BuiltinOps.h"
+#include "mlir/Pass/Pass.h"
+#include "mlir/Pass/PassManager.h"
+
+using namespace mlir;
+
+namespace {
+
+class TestSPIRVCPURunnerPipelinePass
+    : public PassWrapper<TestSPIRVCPURunnerPipelinePass,
+                         OperationPass<ModuleOp>> {
+public:
+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestSPIRVCPURunnerPipelinePass)
+
+  StringRef getArgument() const final {
+    return "test-spirv-cpu-runner-pipeline";
+  }
+  StringRef getDescription() const final {
+    return "Runs a series of passes for lowering SPIR-V-dialect MLIR to "
+           "LLVM-dialect MLIR intended for mlir-spirv-cpu-runner.";
+  }
+  void getDependentDialects(DialectRegistry &registry) const override {
+    registry.insert<mlir::arith::ArithDialect, mlir::LLVM::LLVMDialect,
+                    mlir::gpu::GPUDialect, mlir::spirv::SPIRVDialect,
+                    mlir::func::FuncDialect, mlir::memref::MemRefDialect,
+                    mlir::DLTIDialect>();
+  }
+
+  TestSPIRVCPURunnerPipelinePass() = default;
+  TestSPIRVCPURunnerPipelinePass(const TestSPIRVCPURunnerPipelinePass &) {}
+
+  void runOnOperation() override {
+    ModuleOp module = getOperation();
+
+    PassManager passManager(module->getContext(),
+                            module->getName().getStringRef());
+    if (failed(applyPassManagerCLOptions(passManager)))
+      return signalPassFailure();
+    passManager.addPass(createGpuKernelOutliningPass());
+    passManager.addPass(createConvertGPUToSPIRVPass(/*mapMemorySpace=*/true));
+
+    OpPassManager &nestedPM = passManager.nest<spirv::ModuleOp>();
+    nestedPM.addPass(spirv::createSPIRVLowerABIAttributesPass());
+    nestedPM.addPass(spirv::createSPIRVUpdateVCEPass());
+    passManager.addPass(createLowerHostCodeToLLVMPass());
+    passManager.addPass(createConvertSPIRVToLLVMPass());
+
+    if (failed(runPipeline(passManager, module)))
+      signalPassFailure();
+  }
+};
+} // namespace
+
+namespace mlir {
+namespace test {
+void registerTestSPIRVCPURunnerPipelinePass() {
+  PassRegistration<TestSPIRVCPURunnerPipelinePass>();
+}
+} // namespace test
+} // namespace mlir
diff --git a/mlir/test/mlir-spirv-cpu-runner/double.mlir b/mlir/test/mlir-spirv-cpu-runner/double.mlir
index cd551ffb1bd062..35557ba1e94c00 100644
--- a/mlir/test/mlir-spirv-cpu-runner/double.mlir
+++ b/mlir/test/mlir-spirv-cpu-runner/double.mlir
@@ -1,4 +1,5 @@
-// RUN: mlir-spirv-cpu-runner %s -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
+// RUN: mlir-opt %s -test-spirv-cpu-runner-pipeline \
+// RUN: | mlir-spirv-cpu-runner - -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
 // RUN: | FileCheck %s
 
 // CHECK: [8,  8,  8,  8,  8,  8]
diff --git a/mlir/test/mlir-spirv-cpu-runner/simple_add.mlir b/mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
index 119e973e45e4a7..75675a69a67583 100644
--- a/mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
+++ b/mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
@@ -1,4 +1,5 @@
-// RUN: mlir-spirv-cpu-runner %s -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
+// RUN: mlir-opt %s -test-spirv-cpu-runner-pipeline \
+// RUN: | mlir-spirv-cpu-runner - -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
 // RUN: | FileCheck %s
 
 // CHECK: data =
diff --git a/mlir/tools/mlir-opt/mlir-opt.cpp b/mlir/tools/mlir-opt/mlir-opt.cpp
index 36b142484bb04a..6b639829aacd2c 100644
--- a/mlir/tools/mlir-opt/mlir-opt.cpp
+++ b/mlir/tools/mlir-opt/mlir-opt.cpp
@@ -142,6 +142,7 @@ void registerTestSCFWhileOpBuilderPass();
 void registerTestSCFWrapInZeroTripCheckPasses();
 void registerTestShapeMappingPass();
 void registerTestSliceAnalysisPass();
+void registerTestSPIRVCPURunnerPipelinePass();
 void registerTestSPIRVFuncSignatureConversion();
 void registerTestSPIRVVectorUnrolling();
 void registerTestTensorCopyInsertionPass();
@@ -278,6 +279,7 @@ void registerTestPasses() {
   mlir::test::registerTestSCFWrapInZeroTripCheckPasses();
   mlir::test::registerTestShapeMappingPass();
   mlir::test::registerTestSliceAnalysisPass();
+  mlir::test::registerTestSPIRVCPURunnerPipelinePass();
   mlir::test::registerTestSPIRVFuncSignatureConversion();
   mlir::test::registerTestSPIRVVectorUnrolling();
   mlir::test::registerTestTensorCopyInsertionPass();
diff --git a/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp b/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
index 7e0b51cac80621..22ad1024db4a0b 100644
--- a/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
+++ b/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
@@ -12,18 +12,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h"
-#include "mlir/Conversion/GPUToSPIRV/GPUToSPIRVPass.h"
-#include "mlir/Conversion/SPIRVToLLVM/SPIRVToLLVMPass.h"
 #include "mlir/Dialect/Arith/IR/Arith.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
 #include "mlir/Dialect/GPU/IR/GPUDialect.h"
-#include "mlir/Dialect/GPU/Transforms/Passes.h"
 #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/MemRef/IR/MemRef.h"
 #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
-#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
-#include "mlir/Dialect/SPIRV/Transforms/Passes.h"
 #include "mlir/ExecutionEngine/JitRunner.h"
 #include "mlir/ExecutionEngine/OptUtils.h"
 #include "mlir/Pass/Pass.h"
@@ -75,23 +69,6 @@ convertMLIRModule(Operation *op, llvm::LLVMContext &context) {
   return mainModule;
 }
 
-static LogicalResult runMLIRPasses(Operation *module,
-                                   JitRunnerOptions &options) {
-  PassManager passManager(module->getContext(),
-                          module->getName().getStringRef());
-  if (failed(applyPassManagerCLOptions(passManager)))
-    return failure();
-  passManager.addPass(createGpuKernelOutliningPass());
-  passManager.addPass(createConvertGPUToSPIRVPass(/*mapMemorySpace=*/true));
-
-  OpPassManager &nestedPM = passManager.nest<spirv::ModuleOp>();
-  nestedPM.addPass(spirv::createSPIRVLowerABIAttributesPass());
-  nestedPM.addPass(spirv::createSPIRVUpdateVCEPass());
-  passManager.addPass(createLowerHostCodeToLLVMPass());
-  passManager.addPass(createConvertSPIRVToLLVMPass());
-  return passManager.run(module);
-}
-
 int main(int argc, char **argv) {
   llvm::InitLLVM y(argc, argv);
 
@@ -99,7 +76,6 @@ int main(int argc, char **argv) {
   llvm::InitializeNativeTargetAsmPrinter();
 
   mlir::JitRunnerConfig jitRunnerConfig;
-  jitRunnerConfig.mlirTransformer = runMLIRPasses;
   jitRunnerConfig.llvmModuleBuilder = convertMLIRModule;
 
   mlir::DialectRegistry registry;

@andfau-amd
Copy link
Contributor Author

For broader motivation see #73457.

@kuhar kuhar self-requested a review October 8, 2024 18:27
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.

Nice!

@andfau-amd andfau-amd force-pushed the 73457-runner-migration-cpu-pipeline-pass branch from 7d5f2d2 to cee317a Compare October 8, 2024 18:46
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 % nit

@andfau-amd andfau-amd force-pushed the 73457-runner-migration-cpu-pipeline-pass branch from cee317a to 1fcb1a9 Compare October 8, 2024 18:52
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.

Thanks for the fixes

@andfau-amd andfau-amd force-pushed the 73457-runner-migration-cpu-pipeline-pass branch 2 times, most recently from 9a445c6 to 0b2fdef Compare October 10, 2024 19:17
Adds a new mlir-opt test-only pipeline, -test-spirv-cpu-runner-pipeline,
containing the set of MLIR passes needed for the mlir-spirv-cpu-runner,
and removes them from the runner. The tests are changed to invoke
mlir-opt with this flag before running the runner. The eventual goal
is to move all host/device code generation steps out of the runner, like
with some of the other runners.
@andfau-amd andfau-amd requested a review from kuhar October 10, 2024 19:18
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

@kuhar
Copy link
Member

kuhar commented Oct 10, 2024

Thanks for the suggestion @joker-eph

@kuhar kuhar merged commit f0312d9 into llvm:main Oct 21, 2024
8 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 21, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
72.677 [154/5/7079] Linking CXX executable bin/tco
75.375 [154/4/7080] Linking CXX shared library lib/libFortranSemantics.so.20.0git
75.383 [153/4/7081] Creating library symlink lib/libFortranSemantics.so
75.532 [147/9/7082] Linking CXX executable tools/flang/unittests/Evaluate/real.test
75.534 [147/8/7083] Linking CXX executable tools/flang/unittests/Evaluate/logical.test
75.536 [147/7/7084] Linking CXX executable tools/flang/unittests/Evaluate/integer.test
75.683 [147/6/7085] Linking CXX executable tools/flang/unittests/Evaluate/folding.test
75.698 [147/5/7086] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o
75.736 [146/5/7087] Linking CXX executable tools/flang/unittests/Evaluate/expression.test
75.955 [146/4/7088] Linking CXX shared library lib/libMLIRTestPass.so.20.0git
FAILED: lib/libMLIRTestPass.so.20.0git 
: && /usr/local/bin/c++ -fPIC -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O3 -DNDEBUG  -stdlib=libc++ -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib  -Wl,--gc-sections -shared -Wl,-soname,libMLIRTestPass.so.20.0git -o lib/libMLIRTestPass.so.20.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestDynamicPipeline.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestPassManager.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib:"  lib/libMLIRTestDialect.so.20.0git  lib/libMLIRDerivedAttributeOpInterface.so.20.0git  lib/libMLIRLinalgTransforms.so.20.0git  lib/libMLIRIndexDialect.so.20.0git  lib/libMLIRMemRefTransforms.so.20.0git  lib/libMLIRArithTransforms.so.20.0git  lib/libMLIRFuncTransforms.so.20.0git  lib/libMLIRNVGPUDialect.so.20.0git  lib/libMLIRMeshTransforms.so.20.0git  lib/libMLIRTosaShardingInterfaceImpl.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRTosaDialect.so.20.0git  lib/libMLIRQuantUtils.so.20.0git  lib/libMLIRQuantDialect.so.20.0git  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTensorTilingInterfaceImpl.so.20.0git  lib/libMLIRLinalgUtils.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRVectorToSCF.so.20.0git  lib/libMLIRVectorTransforms.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRGPUDialect.so.20.0git  lib/libMLIRDLTIDialect.so.20.0git  lib/libMLIRMemRefUtils.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRLLVMDialect.so.20.0git  lib/libLLVMBitWriter.so.20.0git  lib/libLLVMAsmParser.so.20.0git  lib/libLLVMBitReader.so.20.0git  lib/libLLVMCore.so.20.0git  lib/libLLVMBinaryFormat.so.20.0git  lib/libMLIRPolynomialDialect.so.20.0git  lib/libMLIRReduce.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&)':
TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x20): undefined reference to `mlir::createGpuKernelOutliningPass(llvm::StringRef)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x70): undefined reference to `mlir::createConvertGPUToSPIRVPass(bool)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0xd4): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x100): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x12c): undefined reference to `mlir::createLowerHostCodeToLLVMPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x158): undefined reference to `mlir::createConvertSPIRVToLLVMPass()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
82.218 [146/3/7089] Linking CXX shared library lib/libFortranLower.so.20.0git
166.504 [146/2/7090] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
211.520 [146/1/7091] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 21, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-check-mlir-build-only) failure: build (failure)
...
32.145 [21/16/4973] Linking CXX executable bin/mlir-cpu-runner
32.148 [20/16/4974] Linking C executable bin/mlir-capi-sparse-tensor-test
32.153 [19/16/4975] Linking CXX executable bin/mlir-vulkan-runner
32.156 [18/16/4976] Linking C executable bin/mlir-capi-ir-test
32.158 [17/16/4977] Linking C executable bin/mlir-capi-translation-test
32.159 [16/16/4978] Linking C executable bin/mlir-capi-transform-test
32.186 [15/16/4979] Linking C executable bin/mlir-capi-execution-engine-test
32.306 [14/16/4980] Linking C executable bin/mlir-capi-transform-interpreter-test
33.475 [13/16/4981] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o
33.624 [12/16/4982] Linking CXX shared library lib/libMLIRTestPass.so.20.0git
FAILED: lib/libMLIRTestPass.so.20.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,libMLIRTestPass.so.20.0git -o lib/libMLIRTestPass.so.20.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestDynamicPipeline.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestPassManager.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRTestDialect.so.20.0git  lib/libMLIRDerivedAttributeOpInterface.so.20.0git  lib/libMLIRLinalgTransforms.so.20.0git  lib/libMLIRIndexDialect.so.20.0git  lib/libMLIRMemRefTransforms.so.20.0git  lib/libMLIRArithTransforms.so.20.0git  lib/libMLIRFuncTransforms.so.20.0git  lib/libMLIRNVGPUDialect.so.20.0git  lib/libMLIRMeshTransforms.so.20.0git  lib/libMLIRTosaShardingInterfaceImpl.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRTosaDialect.so.20.0git  lib/libMLIRQuantUtils.so.20.0git  lib/libMLIRQuantDialect.so.20.0git  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTensorTilingInterfaceImpl.so.20.0git  lib/libMLIRLinalgUtils.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRVectorToSCF.so.20.0git  lib/libMLIRVectorTransforms.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRGPUDialect.so.20.0git  lib/libMLIRDLTIDialect.so.20.0git  lib/libMLIRMemRefUtils.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRLLVMDialect.so.20.0git  lib/libLLVMBitWriter.so.20.0git  lib/libLLVMAsmParser.so.20.0git  lib/libLLVMBitReader.so.20.0git  lib/libLLVMCore.so.20.0git  lib/libLLVMBinaryFormat.so.20.0git  lib/libMLIRPolynomialDialect.so.20.0git  lib/libMLIRReduce.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib && :
ld.lld: error: undefined symbol: mlir::createGpuKernelOutliningPass(llvm::StringRef)
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))

ld.lld: error: undefined symbol: mlir::createConvertGPUToSPIRVPass(bool)
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))

ld.lld: error: undefined symbol: mlir::spirv::createSPIRVLowerABIAttributesPass()
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))

ld.lld: error: undefined symbol: mlir::spirv::createSPIRVUpdateVCEPass()
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))

ld.lld: error: undefined symbol: mlir::createLowerHostCodeToLLVMPass()
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))

ld.lld: error: undefined symbol: mlir::createConvertSPIRVToLLVMPass()
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
34.205 [12/15/4983] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirAsyncPasses.cpython-310-x86_64-linux-gnu.so
34.469 [12/14/4984] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirGPUPasses.cpython-310-x86_64-linux-gnu.so
34.537 [12/13/4985] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirLinalgPasses.cpython-310-x86_64-linux-gnu.so
34.568 [12/12/4986] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirSparseTensorPasses.cpython-310-x86_64-linux-gnu.so
34.753 [12/11/4987] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsLinalg.cpython-310-x86_64-linux-gnu.so
35.040 [12/10/4988] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsNVGPU.cpython-310-x86_64-linux-gnu.so
35.176 [12/9/4989] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsPDL.cpython-310-x86_64-linux-gnu.so
35.301 [12/8/4990] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirTransformInterpreter.cpython-310-x86_64-linux-gnu.so
35.447 [12/7/4991] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsTransform.cpython-310-x86_64-linux-gnu.so
35.537 [12/6/4992] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsLLVM.cpython-310-x86_64-linux-gnu.so
35.578 [12/5/4993] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsGPU.cpython-310-x86_64-linux-gnu.so
35.613 [12/4/4994] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsQuant.cpython-310-x86_64-linux-gnu.so
36.431 [12/3/4995] Linking CXX shared module tools/mlir/python_packages/mlir_core/mlir/_mlir_libs/_mlirDialectsSparseTensor.cpython-310-x86_64-linux-gnu.so

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 21, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
137.225 [2427/19/5004] Building arm_neon.h...
137.226 [2427/18/5005] Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesTypes.cpp.o
137.232 [2427/17/5006] Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesReader.cpp.o
137.234 [2427/16/5007] Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesManager.cpp.o
137.243 [2427/15/5008] Building arm_cde.h...
137.255 [2427/14/5009] Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesWriter.cpp.o
137.272 [2427/13/5010] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/DependencyDirectivesScanner.cpp.o
137.276 [2427/12/5011] Building CXX object tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/obj.clangDynamicASTMatchers.dir/Registry.cpp.o
137.354 [2427/11/5012] Building CXX object tools/clang/lib/APINotes/CMakeFiles/obj.clangAPINotes.dir/APINotesYAMLCompiler.cpp.o
137.409 [2427/10/5013] Linking CXX shared library lib/libMLIRTestPass.so.20.0git
FAILED: lib/libMLIRTestPass.so.20.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,libMLIRTestPass.so.20.0git -o lib/libMLIRTestPass.so.20.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestDynamicPipeline.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestPassManager.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libMLIRTestDialect.so.20.0git  lib/libMLIRDerivedAttributeOpInterface.so.20.0git  lib/libMLIRLinalgTransforms.so.20.0git  lib/libMLIRIndexDialect.so.20.0git  lib/libMLIRMemRefTransforms.so.20.0git  lib/libMLIRArithTransforms.so.20.0git  lib/libMLIRFuncTransforms.so.20.0git  lib/libMLIRNVGPUDialect.so.20.0git  lib/libMLIRMeshTransforms.so.20.0git  lib/libMLIRTosaShardingInterfaceImpl.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRTosaDialect.so.20.0git  lib/libMLIRQuantUtils.so.20.0git  lib/libMLIRQuantDialect.so.20.0git  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTensorTilingInterfaceImpl.so.20.0git  lib/libMLIRLinalgUtils.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRVectorToSCF.so.20.0git  lib/libMLIRVectorTransforms.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRGPUDialect.so.20.0git  lib/libMLIRDLTIDialect.so.20.0git  lib/libMLIRMemRefUtils.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRLLVMDialect.so.20.0git  lib/libLLVMBitWriter.so.20.0git  lib/libLLVMAsmParser.so.20.0git  lib/libLLVMBitReader.so.20.0git  lib/libLLVMCore.so.20.0git  lib/libLLVMBinaryFormat.so.20.0git  lib/libMLIRPolynomialDialect.so.20.0git  lib/libMLIRReduce.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&)':
TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x20): undefined reference to `mlir::createGpuKernelOutliningPass(llvm::StringRef)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x6c): undefined reference to `mlir::createConvertGPUToSPIRVPass(bool)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0xcc): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0xf8): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x124): undefined reference to `mlir::createLowerHostCodeToLLVMPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x150): undefined reference to `mlir::createConvertSPIRVToLLVMPass()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
137.448 [2427/9/5014] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/InitHeaderSearch.cpp.o
137.523 [2427/8/5015] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderMap.cpp.o
137.543 [2427/7/5016] Generating VCSVersion.inc
137.641 [2427/6/5017] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Lexer.cpp.o
137.645 [2427/5/5018] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/MacroArgs.cpp.o
137.654 [2427/4/5019] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderSearch.cpp.o
137.672 [2427/3/5020] Building CXX object tools/clang/lib/Tooling/CMakeFiles/obj.clangTooling.dir/CommonOptionsParser.cpp.o
137.746 [2427/2/5021] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/LiteralSupport.cpp.o
174.214 [2427/1/5022] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Oct 21, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
141.053 [2240/7/5007] Copying clang's avxifmaintrin.h...
141.055 [2240/6/5008] Copying clang's lsxintrin.h...
141.056 [2240/5/5009] Copying clang's avxneconvertintrin.h...
141.057 [2240/4/5010] Copying clang's avxvnniint16intrin.h...

146.035 [2240/3/5011] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o
146.069 [2237/5/5012] Copying clang's opencl-c-base.h...
146.085 [2236/5/5013] Copying clang's altivec.h...
146.087 [2236/4/5014] Copying clang's opencl-c.h...
147.254 [2236/3/5015] Linking CXX shared library lib/libMLIRTestPass.so.20.0git
FAILED: lib/libMLIRTestPass.so.20.0git 
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -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,libMLIRTestPass.so.20.0git -o lib/libMLIRTestPass.so.20.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestDynamicPipeline.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestPassManager.cpp.o tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libMLIRTestDialect.so.20.0git  lib/libMLIRDerivedAttributeOpInterface.so.20.0git  lib/libMLIRLinalgTransforms.so.20.0git  lib/libMLIRIndexDialect.so.20.0git  lib/libMLIRMemRefTransforms.so.20.0git  lib/libMLIRArithTransforms.so.20.0git  lib/libMLIRFuncTransforms.so.20.0git  lib/libMLIRNVGPUDialect.so.20.0git  lib/libMLIRMeshTransforms.so.20.0git  lib/libMLIRTosaShardingInterfaceImpl.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRTosaDialect.so.20.0git  lib/libMLIRQuantUtils.so.20.0git  lib/libMLIRQuantDialect.so.20.0git  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTensorTilingInterfaceImpl.so.20.0git  lib/libMLIRLinalgUtils.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRVectorToSCF.so.20.0git  lib/libMLIRVectorTransforms.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRGPUDialect.so.20.0git  lib/libMLIRDLTIDialect.so.20.0git  lib/libMLIRMemRefUtils.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRLLVMDialect.so.20.0git  lib/libLLVMBitWriter.so.20.0git  lib/libLLVMAsmParser.so.20.0git  lib/libLLVMBitReader.so.20.0git  lib/libLLVMCore.so.20.0git  lib/libLLVMBinaryFormat.so.20.0git  lib/libMLIRPolynomialDialect.so.20.0git  lib/libMLIRReduce.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRTr
ansforms.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib && :
/usr/bin/ld: tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&)':
TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x38): undefined reference to `mlir::createGpuKernelOutliningPass(llvm::StringRef)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x84): undefined reference to `mlir::createConvertGPUToSPIRVPass(bool)'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0xe4): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x10c): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x134): undefined reference to `mlir::createLowerHostCodeToLLVMPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x15c): undefined reference to `mlir::createConvertSPIRVToLLVMPass()'
collect2: error: ld returned 1 exit status

190.279 [2236/2/5016] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
191.182 [2236/1/5017] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
ninja: build stopped: subcommand failed.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mlir:core MLIR Core Infrastructure mlir:spirv mlir
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants