Skip to content

[mlir][spirv] Make ConvertToSPIRVPass into a test pass (non-public) #124301

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

With the removal of mlir-vulkan-runner (as part of #73457) in e7e3c45, this pass no longer has to be public (previously it had to be so the runner could use it). This commit makes it instead only available for use by mlir-opt.

@llvmbot llvmbot added mlir:core MLIR Core Infrastructure mlir:spirv mlir labels Jan 24, 2025
@llvmbot
Copy link
Member

llvmbot commented Jan 24, 2025

@llvm/pr-subscribers-mlir-spirv
@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-core

Author: Andrea Faulds (andfau-amd)

Changes

With the removal of mlir-vulkan-runner (as part of #73457) in e7e3c45, this pass no longer has to be public (previously it had to be so the runner could use it). This commit makes it instead only available for use by mlir-opt.


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

19 Files Affected:

  • (modified) mlir/include/mlir/Conversion/Passes.td (-29)
  • (modified) mlir/lib/Conversion/CMakeLists.txt (-1)
  • (removed) mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt (-36)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/arith.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/combined.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/gpu.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/index.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/memref.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/scf.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/simple.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/ub.mlir (+1-1)
  • (modified) mlir/test/Conversion/ConvertToSPIRV/vector.mlir (+1-1)
  • (modified) mlir/test/lib/Pass/CMakeLists.txt (+1)
  • (renamed) mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp (+54-5)
  • (modified) mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp (+10-4)
  • (modified) mlir/tools/mlir-opt/mlir-opt.cpp (+2)
diff --git a/mlir/include/mlir/Conversion/Passes.td b/mlir/include/mlir/Conversion/Passes.td
index b547839d76738c..f2841a1e879dbe 100644
--- a/mlir/include/mlir/Conversion/Passes.td
+++ b/mlir/include/mlir/Conversion/Passes.td
@@ -39,35 +39,6 @@ def ConvertToLLVMPass : Pass<"convert-to-llvm"> {
   ];
 }
 
-//===----------------------------------------------------------------------===//
-// ToSPIRV
-//===----------------------------------------------------------------------===//
-
-def ConvertToSPIRVPass : Pass<"convert-to-spirv"> {
-  let summary = "Convert to SPIR-V";
-  let description = [{
-    This is a generic pass to convert to SPIR-V.
-  }];
-  let dependentDialects = [
-    "spirv::SPIRVDialect",
-    "vector::VectorDialect",
-  ];
-  let options = [
-    Option<"runSignatureConversion", "run-signature-conversion", "bool",
-    /*default=*/"true",
-    "Run function signature conversion to convert vector types">,
-    Option<"runVectorUnrolling", "run-vector-unrolling", "bool",
-    /*default=*/"true",
-    "Run vector unrolling to convert vector types in function bodies">,
-    Option<"convertGPUModules", "convert-gpu-modules", "bool",
-    /*default=*/"false",
-    "Clone and convert GPU modules">,
-    Option<"nestInGPUModule", "nest-in-gpu-module", "bool",
-    /*default=*/"false",
-    "Put converted SPIR-V module inside the gpu.module instead of alongside it.">,
-  ];
-}
-
 //===----------------------------------------------------------------------===//
 // AffineToStandard
 //===----------------------------------------------------------------------===//
diff --git a/mlir/lib/Conversion/CMakeLists.txt b/mlir/lib/Conversion/CMakeLists.txt
index a570978f03757c..0bd08ec6333e68 100644
--- a/mlir/lib/Conversion/CMakeLists.txt
+++ b/mlir/lib/Conversion/CMakeLists.txt
@@ -19,7 +19,6 @@ add_subdirectory(ControlFlowToLLVM)
 add_subdirectory(ControlFlowToSCF)
 add_subdirectory(ControlFlowToSPIRV)
 add_subdirectory(ConvertToLLVM)
-add_subdirectory(ConvertToSPIRV)
 add_subdirectory(FuncToEmitC)
 add_subdirectory(FuncToLLVM)
 add_subdirectory(FuncToSPIRV)
diff --git a/mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt b/mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
deleted file mode 100644
index 124a4c453e75c5..00000000000000
--- a/mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-set(LLVM_OPTIONAL_SOURCES
-  ConvertToSPIRVPass.cpp
-)
-
-add_mlir_conversion_library(MLIRConvertToSPIRVPass
-  ConvertToSPIRVPass.cpp
-
-  ADDITIONAL_HEADER_DIRS
-  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/ConvertToSPIRV
-
-  DEPENDS
-  MLIRConversionPassIncGen
-
-  LINK_LIBS PUBLIC
-  MLIRArithToSPIRV
-  MLIRArithTransforms
-  MLIRFuncToSPIRV
-  MLIRGPUDialect
-  MLIRGPUToSPIRV
-  MLIRIndexToSPIRV
-  MLIRIR
-  MLIRMemRefToSPIRV
-  MLIRPass
-  MLIRRewrite
-  MLIRSCFToSPIRV
-  MLIRSPIRVConversion
-  MLIRSPIRVDialect
-  MLIRSPIRVTransforms
-  MLIRSupport
-  MLIRTransforms
-  MLIRTransformUtils
-  MLIRUBToSPIRV
-  MLIRVectorDialect
-  MLIRVectorToSPIRV
-  MLIRVectorTransforms
-  )
diff --git a/mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir b/mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
index 652f4472280869..81ac2a04f3362a 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv -cse %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv -cse %s | FileCheck %s
 
 module attributes {
   gpu.container_module,
diff --git a/mlir/test/Conversion/ConvertToSPIRV/arith.mlir b/mlir/test/Conversion/ConvertToSPIRV/arith.mlir
index 6418e931f74605..d9a33a1f7b6e8a 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/arith.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/arith.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 //===----------------------------------------------------------------------===//
 // arithmetic ops
diff --git a/mlir/test/Conversion/ConvertToSPIRV/combined.mlir b/mlir/test/Conversion/ConvertToSPIRV/combined.mlir
index 311174bef15ed6..3039ed58463eae 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/combined.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/combined.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @combined
 // CHECK: %[[C0_F32:.*]] = spirv.Constant 0.000000e+00 : f32
diff --git a/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir b/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
index 7562de17c606ee..5b12a656a2bf88 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="convert-gpu-modules=true nest-in-gpu-module=true run-signature-conversion=false run-vector-unrolling=false" %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="convert-gpu-modules=true nest-in-gpu-module=true run-signature-conversion=false run-vector-unrolling=false" %s | FileCheck %s
 
 module attributes {
   gpu.container_module,
diff --git a/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir b/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
index 1fde6c34418fc5..00bbd1c27116a9 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="convert-gpu-modules=true run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="convert-gpu-modules=true run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 module attributes {
   gpu.container_module,
diff --git a/mlir/test/Conversion/ConvertToSPIRV/gpu.mlir b/mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
index 84f366e5874b03..3e197c076be6a2 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv -split-input-file %s | FileCheck %s
 
 module attributes {
   gpu.container_module,
diff --git a/mlir/test/Conversion/ConvertToSPIRV/index.mlir b/mlir/test/Conversion/ConvertToSPIRV/index.mlir
index f4b116849fa93c..a7b892e358acbf 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/index.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/index.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @basic
 func.func @basic(%a: index, %b: index) {
diff --git a/mlir/test/Conversion/ConvertToSPIRV/memref.mlir b/mlir/test/Conversion/ConvertToSPIRV/memref.mlir
index 5af8bfc842ea13..f7d17d1ad16da8 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/memref.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/memref.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -cse %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -cse %s | FileCheck %s
 
 module attributes {
   spirv.target_env = #spirv.target_env<
diff --git a/mlir/test/Conversion/ConvertToSPIRV/scf.mlir b/mlir/test/Conversion/ConvertToSPIRV/scf.mlir
index 350ebcfe57b15b..fab45d47428501 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/scf.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/scf.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @if_yield
 // CHECK: %[[VAR:.*]] = spirv.Variable : !spirv.ptr<f32, Function>
diff --git a/mlir/test/Conversion/ConvertToSPIRV/simple.mlir b/mlir/test/Conversion/ConvertToSPIRV/simple.mlir
index 00556140c3018b..aa4a963d1d69a0 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/simple.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/simple.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @return_scalar
 // CHECK-SAME: %[[ARG0:.*]]: i32
diff --git a/mlir/test/Conversion/ConvertToSPIRV/ub.mlir b/mlir/test/Conversion/ConvertToSPIRV/ub.mlir
index f34ca01c94f00b..e8ffcd4237ed28 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/ub.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/ub.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @ub
 // CHECK: %[[UNDEF:.*]] = spirv.Undef : i32
diff --git a/mlir/test/Conversion/ConvertToSPIRV/vector.mlir b/mlir/test/Conversion/ConvertToSPIRV/vector.mlir
index e369eadca57302..510f7a2d94c9ec 100644
--- a/mlir/test/Conversion/ConvertToSPIRV/vector.mlir
+++ b/mlir/test/Conversion/ConvertToSPIRV/vector.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
+// RUN: mlir-opt -test-convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
 
 // CHECK-LABEL: @extract
 //  CHECK-SAME: %[[ARG:.+]]: vector<2xf32>
diff --git a/mlir/test/lib/Pass/CMakeLists.txt b/mlir/test/lib/Pass/CMakeLists.txt
index 6698af86b8ae66..95e8e8d743f680 100644
--- a/mlir/test/lib/Pass/CMakeLists.txt
+++ b/mlir/test/lib/Pass/CMakeLists.txt
@@ -1,6 +1,7 @@
 get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
 # Exclude tests from libMLIR.so
 add_mlir_library(MLIRTestPass
+  TestConvertToSPIRVPass.cpp
   TestDynamicPipeline.cpp
   TestPassManager.cpp
   TestSPIRVCPURunnerPipeline.cpp
diff --git a/mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp b/mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
similarity index 72%
rename from mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
rename to mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
index ab9c048f561069..68b7c0066a1dee 100644
--- a/mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
+++ b/mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h"
 #include "mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h"
+#include "mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h"
 #include "mlir/Conversion/FuncToSPIRV/FuncToSPIRV.h"
 #include "mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h"
 #include "mlir/Conversion/IndexToSPIRV/IndexToSPIRV.h"
@@ -25,12 +25,13 @@
 #include "mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h"
 #include "mlir/IR/PatternMatch.h"
 #include "mlir/Pass/Pass.h"
+#include "mlir/Pass/PassOptions.h"
 #include "mlir/Rewrite/FrozenRewritePatternSet.h"
 #include "mlir/Transforms/DialectConversion.h"
 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
 #include <memory>
 
-#define DEBUG_TYPE "convert-to-spirv"
+#define DEBUG_TYPE "test-convert-to-spirv"
 
 namespace mlir {
 #define GEN_PASS_DEF_CONVERTTOSPIRVPASS
@@ -71,9 +72,44 @@ void populateConvertToSPIRVPatterns(const SPIRVTypeConverter &typeConverter,
 }
 
 /// A pass to perform the SPIR-V conversion.
-struct ConvertToSPIRVPass final
-    : impl::ConvertToSPIRVPassBase<ConvertToSPIRVPass> {
-  using ConvertToSPIRVPassBase::ConvertToSPIRVPassBase;
+struct TestConvertToSPIRVPass final
+    : PassWrapper<TestConvertToSPIRVPass, OperationPass<>> {
+  Option<bool> runSignatureConversion{
+      *this, "run-signature-conversion",
+      llvm::cl::desc(
+          "Run function signature conversion to convert vector types"),
+      llvm::cl::init(true)};
+  Option<bool> runVectorUnrolling{
+      *this, "run-vector-unrolling",
+      llvm::cl::desc(
+          "Run vector unrolling to convert vector types in function bodies"),
+      llvm::cl::init(true)};
+  Option<bool> convertGPUModules{
+      *this, "convert-gpu-modules",
+      llvm::cl::desc("Clone and convert GPU modules"), llvm::cl::init(false)};
+  Option<bool> nestInGPUModule{
+      *this, "nest-in-gpu-module",
+      llvm::cl::desc("Put converted SPIR-V module inside the gpu.module "
+                     "instead of alongside it."),
+      llvm::cl::init(false)};
+
+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestConvertToSPIRVPass)
+
+  StringRef getArgument() const final { return "test-convert-to-spirv"; }
+  StringRef getDescription() const final {
+    return "Conversion to SPIR-V pass only used for internal tests.";
+  }
+  void getDependentDialects(DialectRegistry &registry) const override {
+    registry.insert<spirv::SPIRVDialect>();
+    registry.insert<vector::VectorDialect>();
+  }
+
+  TestConvertToSPIRVPass() = default;
+  TestConvertToSPIRVPass(bool convertGPUModules, bool nestInGPUModule) {
+    this->convertGPUModules = std::move(convertGPUModules);
+    this->nestInGPUModule = std::move(nestInGPUModule);
+  };
+  TestConvertToSPIRVPass(const TestConvertToSPIRVPass &) {}
 
   void runOnOperation() override {
     Operation *op = getOperation();
@@ -134,3 +170,16 @@ struct ConvertToSPIRVPass final
 };
 
 } // namespace
+
+namespace mlir {
+namespace test {
+void registerTestConvertToSPIRVPass() {
+  PassRegistration<TestConvertToSPIRVPass>();
+}
+std::unique_ptr<Pass> createTestConvertToSPIRVPass(bool convertGPUModules,
+                                                   bool nestInGPUModule) {
+  return std::make_unique<TestConvertToSPIRVPass>(convertGPUModules,
+                                                  nestInGPUModule);
+}
+} // namespace test
+} // namespace mlir
diff --git a/mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp b/mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
index e4cbbeb1f99bc4..333188b6911193 100644
--- a/mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
+++ b/mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
@@ -26,6 +26,14 @@
 
 using namespace mlir;
 
+// Defined in the test directory, no public header.
+namespace mlir {
+namespace test {
+std::unique_ptr<Pass> createTestConvertToSPIRVPass(bool convertGPUModules,
+                                                   bool nestInGPUModule);
+}
+} // namespace mlir
+
 namespace {
 
 struct VulkanRunnerPipelineOptions
@@ -47,10 +55,8 @@ void buildTestVulkanRunnerPipeline(OpPassManager &passManager,
       "SPV_KHR_storage_buffer_storage_class");
   passManager.addPass(createGpuSPIRVAttachTarget(attachTargetOptions));
 
-  ConvertToSPIRVPassOptions convertToSPIRVOptions{};
-  convertToSPIRVOptions.convertGPUModules = true;
-  convertToSPIRVOptions.nestInGPUModule = true;
-  passManager.addPass(createConvertToSPIRVPass(convertToSPIRVOptions));
+  passManager.addPass(test::createTestConvertToSPIRVPass(
+      /*convertGPUModules=*/true, /*nestInGPUModule=*/true));
 
   OpPassManager &spirvModulePM =
       passManager.nest<gpu::GPUModuleOp>().nest<spirv::ModuleOp>();
diff --git a/mlir/tools/mlir-opt/mlir-opt.cpp b/mlir/tools/mlir-opt/mlir-opt.cpp
index 960f7037a1b61f..74007d01347ae8 100644
--- a/mlir/tools/mlir-opt/mlir-opt.cpp
+++ b/mlir/tools/mlir-opt/mlir-opt.cpp
@@ -87,6 +87,7 @@ void registerTestComposeSubView();
 void registerTestCompositePass();
 void registerTestConstantFold();
 void registerTestControlFlowSink();
+void registerTestConvertToSPIRVPass();
 void registerTestDataLayoutPropagation();
 void registerTestDataLayoutQuery();
 void registerTestDeadCodeAnalysisPass();
@@ -226,6 +227,7 @@ void registerTestPasses() {
   mlir::test::registerTestCompositePass();
   mlir::test::registerTestConstantFold();
   mlir::test::registerTestControlFlowSink();
+  mlir::test::registerTestConvertToSPIRVPass();
   mlir::test::registerTestDataLayoutPropagation();
   mlir::test::registerTestDataLayoutQuery();
   mlir::test::registerTestDeadCodeAnalysisPass();

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.

Looks good, just a few nits

@kuhar kuhar requested a review from joker-eph January 24, 2025 16:50
@andfau-amd andfau-amd force-pushed the 73457-move-convert-to-spirv-to-test branch 2 times, most recently from f2f8ad6 to d912d33 Compare January 24, 2025 17:19
With the removal of mlir-vulkan-runner (as part of llvm#73457) in
e7e3c45, this pass no longer has to be
public (previously it had to be so the runner could use it). This commit
makes it instead only available for use by mlir-opt.
@andfau-amd andfau-amd force-pushed the 73457-move-convert-to-spirv-to-test branch from d912d33 to e6f0c99 Compare January 29, 2025 12:45
@andfau-amd andfau-amd merged commit 058d183 into llvm:main Jan 29, 2025
6 of 8 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 29, 2025

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
113.460 [2000/37/5310] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o
113.467 [1995/41/5311] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARC.cpp.o
113.476 [1995/40/5312] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AVR.cpp.o
113.479 [1995/39/5313] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/CSKY.cpp.o
113.481 [1995/38/5314] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/ARM.cpp.o
113.492 [1995/37/5315] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/BPF.cpp.o
113.495 [1995/36/5316] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/DirectX.cpp.o
113.503 [1995/35/5317] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Lanai.cpp.o
113.523 [1990/39/5318] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/M68k.cpp.o
113.528 [1990/38/5319] Linking CXX shared library lib/libMLIRTestPass.so.21.0git
FAILED: lib/libMLIRTestPass.so.21.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.21.0git -o lib/libMLIRTestPass.so.21.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestConvertToSPIRVPass.cpp.o 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 tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib:"  lib/libMLIRArithToAMDGPU.so.21.0git  lib/libMLIRArithToArmSME.so.21.0git  lib/libMLIRArithToEmitC.so.21.0git  lib/libMLIRArmNeon2dToIntr.so.21.0git  lib/libMLIRArmSMEToSCF.so.21.0git  lib/libMLIRArmSMEToLLVM.so.21.0git  lib/libMLIRBufferizationToMemRef.so.21.0git  lib/libMLIRComplexToLibm.so.21.0git  lib/libMLIRComplexToLLVM.so.21.0git  lib/libMLIRComplexToSPIRV.so.21.0git  lib/libMLIRComplexToStandard.so.21.0git  lib/libMLIRControlFlowToSCF.so.21.0git  lib/libMLIRControlFlowToSPIRV.so.21.0git  lib/libMLIRFuncToEmitC.so.21.0git  lib/libMLIRGPUToLLVMSPV.so.21.0git  lib/libMLIRGPUToNVVMTransforms.so.21.0git  lib/libMLIRGPUToROCDLTransforms.so.21.0git  lib/libMLIRGPUToSPIRV.so.21.0git  lib/libMLIRIndexToLLVM.so.21.0git  lib/libMLIRLinalgToStandard.so.21.0git  lib/libMLIRMathToEmitC.so.21.0git  lib/libMLIRMathToFuncs.so.21.0git  lib/libMLIRMathToLibm.so.21.0git  lib/libMLIRMathToLLVM.so.21.0git  lib/libMLIRMathToROCDL.so.21.0git  lib/libMLIRMathToSPIRV.so.21.0git  lib/libMLIRMemRefToEmitC.so.21.0git  lib/libMLIRMeshToMPI.so.21.0git  lib/libMLIRNVGPUToNVVM.so.21.0git  lib/libMLIRNVVMToLLVM.so.21.0git  lib/libMLIROpenACCToSCF.so.21.0git  lib/libMLIROpenMPToLLVM.so.21.0git  lib/libMLIRReconcileUnrealizedCasts.so.21.0git  lib/libMLIRSCFToControlFlow.so.21.0git  lib/libMLIRSCFToEmitC.so.21.0git  lib/libMLIRSCFToGPU.so.21.0git  lib/libMLIRSCFToOpenMP.so.21.0git  lib/libMLIRSCFToSPIRV.so.21.0git  lib/libMLIRShapeToStandard.so.21.0git  lib/libMLIRSPIRVToLLVM.so.21.0git  lib/libMLIRTensorToLinalg.so.21.0git  lib/libMLIRTensorToSPIRV.so.21.0git  lib/libMLIRTosaToArith.so.21.0git  lib/libMLIRTosaToLinalg.so.21.0git  lib/libMLIRTosaToMLProgram.so.21.0git  lib/libMLIRTosaToSCF.so.21.0git  lib/libMLIRTosaToTensor.so.21.0git  lib/libMLIRUBToLLVM.so.21.0git  lib/libMLIRUBToSPIRV.so.21.0git  lib/libMLIRVectorToArmSME.so.21.0git  lib/libMLIRVectorToGPU.so.21.0git  lib/libMLIRVectorToLLVMPass.so.21.0git  lib/libMLIRVectorToSPIRV.so.21.0git  lib/libMLIRVectorToXeGPU.so.21.0git  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRArmSMETransforms.so.21.0git  lib/libMLIRAMDGPUToROCDL.so.21.0git  lib/libMLIRAMDGPUUtils.so.21.0git  lib/libMLIRAMDGPUDialect.so.21.0git  lib/libMLIRIndexToSPIRV.so.21.0git  lib/libMLIRMemRefToSPIRV.so.21.0git  lib/libMLIRMPIDialect.so.21.0git  lib/libMLIRGPUToGPURuntimeTransforms.so.21.0git  lib/libMLIRAsyncToLLVM.so.21.0git  lib/libMLIRConvertToLLVMPass.so.21.0git  lib/libMLIRConvertToLLVMInterface.so.21.0git  lib/libMLIROpenACCDialect.so.21.0git  lib/libMLIREmitCTransforms.so.21.0git  lib/libMLIREmitCDialect.so.21.0git  lib/libMLIRAffineToStandard.so.21.0git  lib/libMLIRGPUTransforms.so.21.0git  lib/libMLIRAsyncDialect.so.21.0git  lib/libMLIRNVVMTarget.so.21.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git  lib/libMLIRSPIRVTarget.so.21.0git  lib/libMLIRSPIRVSerialization.so.21.0git  lib/libMLIRSPIRVBinaryUtils.so.21.0git  lib/libMLIRROCDLTarget.so.21.0git  lib/libMLIRTargetLLVM.so.21.0git  lib/libMLIRExecutionEngineUtils.so.21.0git  lib/libLLVMPasses.so.21.0git  lib/libLLVMipo.so.21.0git  lib/libLLVMLinker.so.21.0git  lib/libLLVMTarget.so.21.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git  lib/libMLIRROCDLDialect.so.21.0git  lib/libMLIROpenMPDialect.so.21.0git  lib/libMLIROpenACCMPCommon.so.21.0git  lib/libMLIRShapeDialect.so.21.0git  lib/libMLIRFuncToLLVM.so.21.0git  lib/libMLIRArithToLLVM.so.21.0git  lib/libMLIRControlFlowToLLVM.so.21.0git  lib/libMLIRMemRefToLLVM.so.21.0git  lib/libMLIRSPIRVAttrToLLVMConversion.so.21.0git  lib/libMLIRSPIRVUtils.so.21.0git  lib/libMLIRArithToSPIRV.so.21.0git  lib/libMLIRFuncToSPIRV.so.21.0git  lib/libMLIRMLProgramDialect.so.21.0git  lib/libMLIRTosaTransforms.so.21.0git  lib/libMLIRSPIRVConversion.so.21.0git  lib/libMLIRSPIRVDialect.so.21.0git  lib/libMLIRArmSMEDialect.so.21.0git  lib/libMLIRNVGPUUtils.so.21.0git  lib/libMLIRVectorToLLVM.so.21.0git  lib/libMLIRArithAttrToLLVMConversion.so.21.0git  lib/libMLIRTargetLLVMIRExport.so.21.0git  lib/libMLIRLLVMIRTransforms.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMFrontendOffloading.so.21.0git  lib/libLLVMTransformUtils.so.21.0git  lib/libMLIRArmNeonDialect.so.21.0git  lib/libMLIRArmSVETransforms.so.21.0git  lib/libMLIRArmSVEDialect.so.21.0git  lib/libMLIRAMXTransforms.so.21.0git  lib/libMLIRAMXDialect.so.21.0git  lib/libMLIRX86VectorTransforms.so.21.0git  lib/libMLIRLLVMCommonConversion.so.21.0git  lib/libMLIRX86VectorDialect.so.21.0git  lib/libMLIRXeGPUDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMMCParser.so.21.0git  lib/libLLVMMC.so.21.0git  lib/libLLVMIRReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRPolynomialDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRSubsetOpInterface.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/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.so.21.0git  lib/libLLVMSupport.so.21.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+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: tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&)':
TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x308): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x334): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x368): undefined reference to `mlir::spirv::createSPIRVWebGPUPreparePass()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
113.531 [1990/37/5320] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/LoongArch.cpp.o
113.532 [1990/36/5321] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Hexagon.cpp.o
113.535 [1990/35/5322] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TypeTraits.cpp.o
113.545 [1990/34/5323] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/TokenKinds.cpp.o
113.581 [1990/33/5324] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/MSP430.cpp.o
113.583 [1990/32/5325] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/PNaCl.cpp.o
113.598 [1990/31/5326] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/OSTargets.cpp.o
113.603 [1990/30/5327] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Mips.cpp.o
113.604 [1990/29/5328] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/NVPTX.cpp.o
113.606 [1990/28/5329] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/RISCV.cpp.o
113.608 [1990/27/5330] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SPIR.cpp.o
113.612 [1990/26/5331] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/SystemZ.cpp.o
113.614 [1990/25/5332] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Sparc.cpp.o
113.619 [1990/24/5333] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderSearch.cpp.o
113.621 [1990/23/5334] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/TCE.cpp.o
113.622 [1990/22/5335] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayInstr.cpp.o
113.623 [1990/21/5336] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/WebAssembly.cpp.o
113.624 [1990/20/5337] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/XCore.cpp.o
113.625 [1990/19/5338] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/Xtensa.cpp.o
113.626 [1990/18/5339] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/VE.cpp.o
113.627 [1990/17/5340] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/X86.cpp.o
113.629 [1990/16/5341] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/PPC.cpp.o
113.631 [1990/15/5342] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayLists.cpp.o
113.782 [1990/14/5343] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/DiagnosticIDs.cpp.o
113.943 [1990/13/5344] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Warnings.cpp.o
115.270 [1990/12/5345] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Version.cpp.o
119.824 [1990/11/5346] Building CXX object tools/mlir/test/lib/Dialect/Vector/CMakeFiles/MLIRVectorTestPasses.dir/TestVectorTransforms.cpp.o
130.483 [1990/10/5347] Building CXX object tools/mlir/lib/Dialect/SparseTensor/Pipelines/CMakeFiles/obj.MLIRSparseTensorPipelines.dir/SparseTensorPipelines.cpp.o
135.318 [1990/9/5348] Building CXX object tools/mlir/tools/mlir-lsp-server/CMakeFiles/mlir-lsp-server.dir/mlir-lsp-server.cpp.o

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 29, 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/9605

Here is the relevant piece of the build log for the reference
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
215.001 [51/16/4995] Building CXX object tools/llc/CMakeFiles/llc.dir/NewPMDriver.cpp.o
215.120 [50/16/4996] Linking CXX executable bin/llc
215.151 [49/16/4997] Building CXX object tools/lli/CMakeFiles/lli.dir/lli.cpp.o
215.261 [48/16/4998] Linking CXX executable bin/lli
220.912 [48/15/4999] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestConvertToSPIRVPass.cpp.o
223.022 [48/14/5000] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o
226.616 [48/13/5001] Building CXX object tools/mlir/examples/toy/Ch6/CMakeFiles/toyc-ch6.dir/mlir/LowerToLLVM.cpp.o
226.788 [47/13/5002] Linking CXX executable bin/toyc-ch6
229.477 [47/12/5003] Building CXX object tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o
229.690 [46/12/5004] Linking CXX shared library lib/libMLIRTestPass.so.21.0git
FAILED: lib/libMLIRTestPass.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,libMLIRTestPass.so.21.0git -o lib/libMLIRTestPass.so.21.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestConvertToSPIRVPass.cpp.o 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 tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRArithToAMDGPU.so.21.0git  lib/libMLIRArithToArmSME.so.21.0git  lib/libMLIRArithToEmitC.so.21.0git  lib/libMLIRArmNeon2dToIntr.so.21.0git  lib/libMLIRArmSMEToSCF.so.21.0git  lib/libMLIRArmSMEToLLVM.so.21.0git  lib/libMLIRBufferizationToMemRef.so.21.0git  lib/libMLIRComplexToLibm.so.21.0git  lib/libMLIRComplexToLLVM.so.21.0git  lib/libMLIRComplexToSPIRV.so.21.0git  lib/libMLIRComplexToStandard.so.21.0git  lib/libMLIRControlFlowToSCF.so.21.0git  lib/libMLIRControlFlowToSPIRV.so.21.0git  lib/libMLIRFuncToEmitC.so.21.0git  lib/libMLIRGPUToLLVMSPV.so.21.0git  lib/libMLIRGPUToNVVMTransforms.so.21.0git  lib/libMLIRGPUToROCDLTransforms.so.21.0git  lib/libMLIRGPUToSPIRV.so.21.0git  lib/libMLIRIndexToLLVM.so.21.0git  lib/libMLIRLinalgToStandard.so.21.0git  lib/libMLIRMathToEmitC.so.21.0git  lib/libMLIRMathToFuncs.so.21.0git  lib/libMLIRMathToLibm.so.21.0git  lib/libMLIRMathToLLVM.so.21.0git  lib/libMLIRMathToROCDL.so.21.0git  lib/libMLIRMathToSPIRV.so.21.0git  lib/libMLIRMemRefToEmitC.so.21.0git  lib/libMLIRMeshToMPI.so.21.0git  lib/libMLIRNVGPUToNVVM.so.21.0git  lib/libMLIRNVVMToLLVM.so.21.0git  lib/libMLIROpenACCToSCF.so.21.0git  lib/libMLIROpenMPToLLVM.so.21.0git  lib/libMLIRReconcileUnrealizedCasts.so.21.0git  lib/libMLIRSCFToControlFlow.so.21.0git  lib/libMLIRSCFToEmitC.so.21.0git  lib/libMLIRSCFToGPU.so.21.0git  lib/libMLIRSCFToOpenMP.so.21.0git  lib/libMLIRSCFToSPIRV.so.21.0git  lib/libMLIRShapeToStandard.so.21.0git  lib/libMLIRSPIRVToLLVM.so.21.0git  lib/libMLIRTensorToLinalg.so.21.0git  lib/libMLIRTensorToSPIRV.so.21.0git  lib/libMLIRTosaToArith.so.21.0git  lib/libMLIRTosaToLinalg.so.21.0git  lib/libMLIRTosaToMLProgram.so.21.0git  lib/libMLIRTosaToSCF.so.21.0git  lib/libMLIRTosaToTensor.so.21.0git  lib/libMLIRUBToLLVM.so.21.0git  lib/libMLIRUBToSPIRV.so.21.0git  lib/libMLIRVectorToArmSME.so.21.0git  lib/libMLIRVectorToGPU.so.21.0git  lib/libMLIRVectorToLLVMPass.so.21.0git  lib/libMLIRVectorToSPIRV.so.21.0git  lib/libMLIRVectorToXeGPU.so.21.0git  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRArmSMETransforms.so.21.0git  lib/libMLIRAMDGPUToROCDL.so.21.0git  lib/libMLIRAMDGPUUtils.so.21.0git  lib/libMLIRAMDGPUDialect.so.21.0git  lib/libMLIRIndexToSPIRV.so.21.0git  lib/libMLIRMemRefToSPIRV.so.21.0git  lib/libMLIRMPIDialect.so.21.0git  lib/libMLIRGPUToGPURuntimeTransforms.so.21.0git  lib/libMLIRAsyncToLLVM.so.21.0git  lib/libMLIRConvertToLLVMPass.so.21.0git  lib/libMLIRConvertToLLVMInterface.so.21.0git  lib/libMLIROpenACCDialect.so.21.0git  lib/libMLIREmitCTransforms.so.21.0git  lib/libMLIREmitCDialect.so.21.0git  lib/libMLIRAffineToStandard.so.21.0git  lib/libMLIRGPUTransforms.so.21.0git  lib/libMLIRAsyncDialect.so.21.0git  lib/libMLIRNVVMTarget.so.21.0git  lib/libLLVMNVPTXCodeGen.so.21.0git  lib/libLLVMNVPTXDesc.so.21.0git  lib/libLLVMNVPTXInfo.so.21.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git  lib/libMLIRSPIRVTarget.so.21.0git  lib/libMLIRSPIRVSerialization.so.21.0git  lib/libMLIRSPIRVBinaryUtils.so.21.0git  lib/libMLIRROCDLTarget.so.21.0git  lib/libMLIRTargetLLVM.so.21.0git  lib/libMLIRExecutionEngineUtils.so.21.0git  lib/libLLVMPasses.so.21.0git  lib/libLLVMipo.so.21.0git  lib/libLLVMLinker.so.21.0git  lib/libLLVMTarget.so.21.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git  lib/libMLIRROCDLDialect.so.21.0git  lib/libMLIROpenMPDialect.so.21.0git  lib/libMLIROpenACCMPCommon.so.21.0git  lib/libMLIRShapeDialect.so.21.0git  lib/libMLIRFuncToLLVM.so.21.0git  lib/libMLIRArithToLLVM.so.21.0git  lib/libMLIRControlFlowToLLVM.so.21.0git  lib/libMLIRMemRefToLLVM.so.21.0git  lib/libMLIRSPIRVAttrToLLVMConversion.so.21.0git  lib/libMLIRSPIRVUtils.so.21.0git  lib/libMLIRArithToSPIRV.so.21.0git  lib/libMLIRFuncToSPIRV.so.21.0git  lib/libMLIRMLProgramDialect.so.21.0git  lib/libMLIRTosaTransforms.so.21.0git  lib/libMLIRSPIRVConversion.so.21.0git  lib/libMLIRSPIRVDialect.so.21.0git  lib/libMLIRArmSMEDialect.so.21.0git  lib/libMLIRNVGPUUtils.so.21.0git  lib/libMLIRVectorToLLVM.so.21.0git  lib/libMLIRArithAttrToLLVMConversion.so.21.0git  lib/libMLIRTargetLLVMIRExport.so.21.0git  lib/libMLIRLLVMIRTransforms.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMFrontendOffloading.so.21.0git  lib/libLLVMTransformUtils.so.21.0git  lib/libMLIRArmNeonDialect.so.21.0git  lib/libMLIRArmSVETransforms.so.21.0git  lib/libMLIRArmSVEDialect.so.21.0git  lib/libMLIRAMXTransforms.so.21.0git  lib/libMLIRAMXDialect.so.21.0git  lib/libMLIRX86VectorTransforms.so.21.0git  lib/libMLIRLLVMCommonConversion.so.21.0git  lib/libMLIRX86VectorDialect.so.21.0git  lib/libMLIRXeGPUDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMMCParser.so.21.0git  lib/libLLVMMC.so.21.0git  lib/libLLVMIRReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRPolynomialDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRSubsetOpInterface.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/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.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::spirv::createSPIRVLowerABIAttributesPass()
>>> referenced by TestSPIRVCPURunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o:((anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&))
>>> referenced by TestVulkanRunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o:((anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&))

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&))
>>> referenced by TestVulkanRunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o:((anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&))

ld.lld: error: undefined symbol: mlir::spirv::createSPIRVWebGPUPreparePass()
>>> referenced by TestVulkanRunnerPipeline.cpp
>>>               tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o:((anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
230.633 [46/11/5005] Building CXX object tools/mlir/examples/toy/Ch7/CMakeFiles/toyc-ch7.dir/mlir/LowerToLLVM.cpp.o
232.356 [46/10/5006] Building CXX object tools/mlir/test/lib/Dialect/Vector/CMakeFiles/MLIRVectorTestPasses.dir/TestVectorTransforms.cpp.o
235.179 [46/9/5007] Building CXX object tools/mlir/lib/CAPI/RegisterEverything/CMakeFiles/obj.MLIRCAPIRegisterEverything.dir/RegisterEverything.cpp.o
240.397 [46/8/5008] Building CXX object tools/mlir/unittests/ExecutionEngine/CMakeFiles/MLIRExecutionEngineTests.dir/Invoke.cpp.o
246.366 [46/7/5009] Building CXX object tools/mlir/tools/mlir-lsp-server/CMakeFiles/mlir-lsp-server.dir/mlir-lsp-server.cpp.o
252.920 [46/6/5010] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
253.281 [46/5/5011] Building CXX object tools/mlir/examples/transform/Ch4/CMakeFiles/transform-opt-ch4.dir/transform-opt/transform-opt.cpp.o
253.292 [46/4/5012] Building CXX object tools/mlir/examples/transform/Ch3/CMakeFiles/transform-opt-ch3.dir/transform-opt/transform-opt.cpp.o
254.137 [46/3/5013] Building CXX object tools/mlir/examples/transform/Ch2/CMakeFiles/transform-opt-ch2.dir/transform-opt/transform-opt.cpp.o
256.055 [46/2/5014] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o
257.361 [46/1/5015] Building CXX object tools/mlir/tools/mlir-reduce/CMakeFiles/mlir-reduce.dir/mlir-reduce.cpp.o
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 29, 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/9342

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
537.790 [2091/8/5460] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPLexerChange.cpp.o
537.837 [2087/11/5461] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PPExpressions.cpp.o
537.849 [2087/10/5462] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/ScratchBuffer.cpp.o
538.064 [2087/9/5463] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/PreprocessorLexer.cpp.o
538.116 [2076/19/5464] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Pragma.cpp.o
538.125 [2076/18/5465] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/Preprocessor.cpp.o
538.136 [2076/17/5466] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenLexer.cpp.o
538.136 [2076/16/5467] Linking CXX shared library lib/libclangBasic.so.21.0git
538.168 [2076/15/5468] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/TokenConcatenation.cpp.o
538.327 [2076/14/5469] Linking CXX shared library lib/libMLIRTestPass.so.21.0git
FAILED: lib/libMLIRTestPass.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,libMLIRTestPass.so.21.0git -o lib/libMLIRTestPass.so.21.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestConvertToSPIRVPass.cpp.o 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 tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:"  lib/libMLIRArithToAMDGPU.so.21.0git  lib/libMLIRArithToArmSME.so.21.0git  lib/libMLIRArithToEmitC.so.21.0git  lib/libMLIRArmNeon2dToIntr.so.21.0git  lib/libMLIRArmSMEToSCF.so.21.0git  lib/libMLIRArmSMEToLLVM.so.21.0git  lib/libMLIRBufferizationToMemRef.so.21.0git  lib/libMLIRComplexToLibm.so.21.0git  lib/libMLIRComplexToLLVM.so.21.0git  lib/libMLIRComplexToSPIRV.so.21.0git  lib/libMLIRComplexToStandard.so.21.0git  lib/libMLIRControlFlowToSCF.so.21.0git  lib/libMLIRControlFlowToSPIRV.so.21.0git  lib/libMLIRFuncToEmitC.so.21.0git  lib/libMLIRGPUToLLVMSPV.so.21.0git  lib/libMLIRGPUToNVVMTransforms.so.21.0git  lib/libMLIRGPUToROCDLTransforms.so.21.0git  lib/libMLIRGPUToSPIRV.so.21.0git  lib/libMLIRIndexToLLVM.so.21.0git  lib/libMLIRLinalgToStandard.so.21.0git  lib/libMLIRMathToEmitC.so.21.0git  lib/libMLIRMathToFuncs.so.21.0git  lib/libMLIRMathToLibm.so.21.0git  lib/libMLIRMathToLLVM.so.21.0git  lib/libMLIRMathToROCDL.so.21.0git  lib/libMLIRMathToSPIRV.so.21.0git  lib/libMLIRMemRefToEmitC.so.21.0git  lib/libMLIRMeshToMPI.so.21.0git  lib/libMLIRNVGPUToNVVM.so.21.0git  lib/libMLIRNVVMToLLVM.so.21.0git  lib/libMLIROpenACCToSCF.so.21.0git  lib/libMLIROpenMPToLLVM.so.21.0git  lib/libMLIRReconcileUnrealizedCasts.so.21.0git  lib/libMLIRSCFToControlFlow.so.21.0git  lib/libMLIRSCFToEmitC.so.21.0git  lib/libMLIRSCFToGPU.so.21.0git  lib/libMLIRSCFToOpenMP.so.21.0git  lib/libMLIRSCFToSPIRV.so.21.0git  lib/libMLIRShapeToStandard.so.21.0git  lib/libMLIRSPIRVToLLVM.so.21.0git  lib/libMLIRTensorToLinalg.so.21.0git  lib/libMLIRTensorToSPIRV.so.21.0git  lib/libMLIRTosaToArith.so.21.0git  lib/libMLIRTosaToLinalg.so.21.0git  lib/libMLIRTosaToMLProgram.so.21.0git  lib/libMLIRTosaToSCF.so.21.0git  lib/libMLIRTosaToTensor.so.21.0git  lib/libMLIRUBToLLVM.so.21.0git  lib/libMLIRUBToSPIRV.so.21.0git  lib/libMLIRVectorToArmSME.so.21.0git  lib/libMLIRVectorToGPU.so.21.0git  lib/libMLIRVectorToLLVMPass.so.21.0git  lib/libMLIRVectorToSPIRV.so.21.0git  lib/libMLIRVectorToXeGPU.so.21.0git  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRArmSMETransforms.so.21.0git  lib/libMLIRAMDGPUToROCDL.so.21.0git  lib/libMLIRAMDGPUUtils.so.21.0git  lib/libMLIRAMDGPUDialect.so.21.0git  lib/libMLIRIndexToSPIRV.so.21.0git  lib/libMLIRMemRefToSPIRV.so.21.0git  lib/libMLIRMPIDialect.so.21.0git  lib/libMLIRGPUToGPURuntimeTransforms.so.21.0git  lib/libMLIRAsyncToLLVM.so.21.0git  lib/libMLIRConvertToLLVMPass.so.21.0git  lib/libMLIRConvertToLLVMInterface.so.21.0git  lib/libMLIROpenACCDialect.so.21.0git  lib/libMLIREmitCTransforms.so.21.0git  lib/libMLIREmitCDialect.so.21.0git  lib/libMLIRAffineToStandard.so.21.0git  lib/libMLIRGPUTransforms.so.21.0git  lib/libMLIRAsyncDialect.so.21.0git  lib/libMLIRNVVMTarget.so.21.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git  lib/libMLIRSPIRVTarget.so.21.0git  lib/libMLIRSPIRVSerialization.so.21.0git  lib/libMLIRSPIRVBinaryUtils.so.21.0git  lib/libMLIRROCDLTarget.so.21.0git  lib/libMLIRTargetLLVM.so.21.0git  lib/libMLIRExecutionEngineUtils.so.21.0git  lib/libLLVMPasses.so.21.0git  lib/libLLVMipo.so.21.0git  lib/libLLVMLinker.so.21.0git  lib/libLLVMTarget.so.21.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git  lib/libMLIRROCDLDialect.so.21.0git  lib/libMLIROpenMPDialect.so.21.0git  lib/libMLIROpenACCMPCommon.so.21.0git  lib/libMLIRShapeDialect.so.21.0git  lib/libMLIRFuncToLLVM.so.21.0git  lib/libMLIRArithToLLVM.so.21.0git  lib/libMLIRControlFlowToLLVM.so.21.0git  lib/libMLIRMemRefToLLVM.so.21.0git  lib/libMLIRSPIRVAttrToLLVMConversion.so.21.0git  lib/libMLIRSPIRVUtils.so.21.0git  lib/libMLIRArithToSPIRV.so.21.0git  lib/libMLIRFuncToSPIRV.so.21.0git  lib/libMLIRMLProgramDialect.so.21.0git  lib/libMLIRTosaTransforms.so.21.0git  lib/libMLIRSPIRVConversion.so.21.0git  lib/libMLIRSPIRVDialect.so.21.0git  lib/libMLIRArmSMEDialect.so.21.0git  lib/libMLIRNVGPUUtils.so.21.0git  lib/libMLIRVectorToLLVM.so.21.0git  lib/libMLIRArithAttrToLLVMConversion.so.21.0git  lib/libMLIRTargetLLVMIRExport.so.21.0git  lib/libMLIRLLVMIRTransforms.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMFrontendOffloading.so.21.0git  lib/libLLVMTransformUtils.so.21.0git  lib/libMLIRArmNeonDialect.so.21.0git  lib/libMLIRArmSVETransforms.so.21.0git  lib/libMLIRArmSVEDialect.so.21.0git  lib/libMLIRAMXTransforms.so.21.0git  lib/libMLIRAMXDialect.so.21.0git  lib/libMLIRX86VectorTransforms.so.21.0git  lib/libMLIRLLVMCommonConversion.so.21.0git  lib/libMLIRX86VectorDialect.so.21.0git  lib/libMLIRXeGPUDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMMCParser.so.21.0git  lib/libLLVMMC.so.21.0git  lib/libLLVMIRReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRPolynomialDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRSubsetOpInterface.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/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.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/Pass/CMakeFiles/MLIRTestPass.dir/TestSPIRVCPURunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestSPIRVCPURunnerPipeline(mlir::OpPassManager&)':
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: tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&)':
TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x2b0): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x2dc): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x310): undefined reference to `mlir::spirv::createSPIRVWebGPUPreparePass()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
538.645 [2076/13/5470] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseCXXInlineMethods.cpp.o
538.672 [2076/12/5471] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDecl.cpp.o
538.710 [2076/11/5472] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseAST.cpp.o
538.733 [2076/10/5473] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseStmt.cpp.o
538.735 [2076/9/5474] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseDeclCXX.cpp.o
538.799 [2076/8/5475] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseObjc.cpp.o
538.800 [2076/7/5476] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseExpr.cpp.o
538.807 [2076/6/5477] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseInit.cpp.o
538.824 [2076/5/5478] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParsePragma.cpp.o
538.923 [2076/4/5479] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseOpenMP.cpp.o
538.995 [2076/3/5480] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseExprCXX.cpp.o
538.996 [2076/2/5481] Building CXX object tools/clang/lib/Parse/CMakeFiles/obj.clangParse.dir/ParseHLSL.cpp.o
568.997 [2076/1/5482] Building CXX object tools/mlir/tools/mlir-opt/CMakeFiles/MLIRMlirOptMain.dir/mlir-opt.cpp.o
ninja: build stopped: subcommand failed.

andfau-amd added a commit that referenced this pull request Jan 29, 2025
…ublic) (#124301)"

This reverts commit 058d183 due to
build failures (missing symbols when linking).
@andfau-amd
Copy link
Contributor Author

Reverted in 4573c85, I must have missed some dependencies in the CMakeLists.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 29, 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/9278

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
952.992 [1174/40/6149] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIBugReporter.cpp.o
952.995 [1174/39/6150] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIChecker.cpp.o
../llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp: In member function ‘void clang::ento::mpi::MPIChecker::allRegionsUsedByWait(llvm::SmallVector<const clang::ento::MemRegion*, 2>&, const clang::ento::MemRegion*, const clang::ento::CallEvent&, clang::ento::CheckerContext&) const’:
../llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp:167:25: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  167 |     const llvm::APSInt &ArrSize =
      |                         ^~~~~~~
../llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp:168:61: note: the temporary was destroyed at the end of the full expression ‘ElementCount.clang::ento::DefinedOrUnknownSVal::<anonymous>.clang::ento::SVal::castAs<clang::ento::nonloc::ConcreteInt>().clang::ento::nonloc::ConcreteInt::getValue().clang::ento::APSIntPtr::operator const APSInt&()’
  168 |         ElementCount.castAs<nonloc::ConcreteInt>().getValue();
      |                                                             ^
953.015 [1174/38/6151] Linking CXX shared library lib/libMLIRTestPass.so.21.0git
FAILED: lib/libMLIRTestPass.so.21.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.21.0git -o lib/libMLIRTestPass.so.21.0git tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestConvertToSPIRVPass.cpp.o 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 tools/mlir/test/lib/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libMLIRArithToAMDGPU.so.21.0git  lib/libMLIRArithToArmSME.so.21.0git  lib/libMLIRArithToEmitC.so.21.0git  lib/libMLIRArmNeon2dToIntr.so.21.0git  lib/libMLIRArmSMEToSCF.so.21.0git  lib/libMLIRArmSMEToLLVM.so.21.0git  lib/libMLIRBufferizationToMemRef.so.21.0git  lib/libMLIRComplexToLibm.so.21.0git  lib/libMLIRComplexToLLVM.so.21.0git  lib/libMLIRComplexToSPIRV.so.21.0git  lib/libMLIRComplexToStandard.so.21.0git  lib/libMLIRControlFlowToSCF.so.21.0git  lib/libMLIRControlFlowToSPIRV.so.21.0git  lib/libMLIRFuncToEmitC.so.21.0git  lib/libMLIRGPUToLLVMSPV.so.21.0git  lib/libMLIRGPUToNVVMTransforms.so.21.0git  lib/libMLIRGPUToROCDLTransforms.so.21.0git  lib/libMLIRGPUToSPIRV.so.21.0git  lib/libMLIRIndexToLLVM.so.21.0git  lib/libMLIRLinalgToStandard.so.21.0git  lib/libMLIRMathToEmitC.so.21.0git  lib/libMLIRMathToFuncs.so.21.0git  lib/libMLIRMathToLibm.so.21.0git  lib/libMLIRMathToLLVM.so.21.0git  lib/libMLIRMathToROCDL.so.21.0git  lib/libMLIRMathToSPIRV.so.21.0git  lib/libMLIRMemRefToEmitC.so.21.0git  lib/libMLIRMeshToMPI.so.21.0git  lib/libMLIRNVGPUToNVVM.so.21.0git  lib/libMLIRNVVMToLLVM.so.21.0git  lib/libMLIROpenACCToSCF.so.21.0git  lib/libMLIROpenMPToLLVM.so.21.0git  lib/libMLIRReconcileUnrealizedCasts.so.21.0git  lib/libMLIRSCFToControlFlow.so.21.0git  lib/libMLIRSCFToEmitC.so.21.0git  lib/libMLIRSCFToGPU.so.21.0git  lib/libMLIRSCFToOpenMP.so.21.0git  lib/libMLIRSCFToSPIRV.so.21.0git  lib/libMLIRShapeToStandard.so.21.0git  lib/libMLIRSPIRVToLLVM.so.21.0git  lib/libMLIRTensorToLinalg.so.21.0git  lib/libMLIRTensorToSPIRV.so.21.0git  lib/libMLIRTosaToArith.so.21.0git  lib/libMLIRTosaToLinalg.so.21.0git  lib/libMLIRTosaToMLProgram.so.21.0git  lib/libMLIRTosaToSCF.so.21.0git  lib/libMLIRTosaToTensor.so.21.0git  lib/libMLIRUBToLLVM.so.21.0git  lib/libMLIRUBToSPIRV.so.21.0git  lib/libMLIRVectorToArmSME.so.21.0git  lib/libMLIRVectorToGPU.so.21.0git  lib/libMLIRVectorToLLVMPass.so.21.0git  lib/libMLIRVectorToSPIRV.so.21.0git  lib/libMLIRVectorToXeGPU.so.21.0git  lib/libMLIRTestDialect.so.21.0git  lib/libMLIRArmSMETransforms.so.21.0git  lib/libMLIRAMDGPUToROCDL.so.21.0git  lib/libMLIRAMDGPUUtils.so.21.0git  lib/libMLIRAMDGPUDialect.so.21.0git  lib/libMLIRIndexToSPIRV.so.21.0git  lib/libMLIRMemRefToSPIRV.so.21.0git  lib/libMLIRMPIDialect.so.21.0git  lib/libMLIRGPUToGPURuntimeTransforms.so.21.0git  lib/libMLIRAsyncToLLVM.so.21.0git  lib/libMLIRConvertToLLVMPass.so.21.0git  lib/libMLIRConvertToLLVMInterface.so.21.0git  lib/libMLIROpenACCDialect.so.21.0git  lib/libMLIREmitCTransforms.so.21.0git  lib/libMLIREmitCDialect.so.21.0git  lib/libMLIRAffineToStandard.so.21.0git  lib/libMLIRGPUTransforms.so.21.0git  lib/libMLIRAsyncDialect.so.21.0git  lib/libMLIRNVVMTarget.so.21.0git  lib/libMLIRNVVMToLLVMIRTranslation.so.21.0git  lib/libMLIRSPIRVTarget.so.21.0git  lib/libMLIRSPIRVSerialization.so.21.0git  lib/libMLIRSPIRVBinaryUtils.so.21.0git  lib/libMLIRROCDLTarget.so.21.0git  lib/libMLIRTargetLLVM.so.21.0git  lib/libMLIRExecutionEngineUtils.so.21.0git  lib/libLLVMPasses.so.21.0git  lib/libLLVMipo.so.21.0git  lib/libLLVMLinker.so.21.0git  lib/libLLVMTarget.so.21.0git  lib/libMLIRROCDLToLLVMIRTranslation.so.21.0git  lib/libMLIRROCDLDialect.so.21.0git  lib/libMLIROpenMPDialect.so.21.0git  lib/libMLIROpenACCMPCommon.so.21.0git  lib/libMLIRShapeDialect.so.21.0git  lib/libMLIRFuncToLLVM.so.21.0git  lib/libMLIRArithToLLVM.so.21.0git  lib/libMLIRControlFlowToLLVM.so.21.0git  lib/libMLIRMemRefToLLVM.so.21.0git  lib/libMLIRSPIRVAttrToLLVMConversion.so.21.0git  lib/libMLIRSPIRVUtils.so.21.0git  lib/libMLIRArithToSPIRV.so.21.0git  lib/libMLIRFuncToSPIRV.so.21.0git  lib/libMLIRMLProgramDialect.so.21.0git  lib/libMLIRTosaTransforms.so.21.0git  lib/libMLIRSPIRVConversion.so.21.0git  lib/libMLIRSPIRVDialect.so.21.0git  lib/libMLIRArmSMEDialect.so.21.0git  lib/libMLIRNVGPUUtils.so.21.0git  lib/libMLIRVectorToLLVM.so.21.0git  lib/libMLIRArithAttrToLLVMConversion.so.21.0git  lib/libMLIRTargetLLVMIRExport.so.21.0git  lib/libMLIRLLVMIRTransforms.so.21.0git  lib/libMLIRNVVMDialect.so.21.0git  lib/libMLIRTranslateLib.so.21.0git  lib/libLLVMFrontendOpenMP.so.21.0git  lib/libLLVMFrontendOffloading.so.21.0git  lib/libLLVMTransformUtils.so.21.0git  lib/libMLIRArmNeonDialect.so.21.0git  lib/libMLIRArmSVETransforms.so.21.0git  lib/libMLIRArmSVEDialect.so.21.0git  lib/libMLIRAMXTransforms.so.21.0git  lib/libMLIRAMXDialect.so.21.0git  lib/libMLIRX86VectorTransforms.so.21.0git  lib/libMLIRLLVMCommonConversion.so.21.0git  lib/libMLIRX86VectorDialect.so.21.0git  lib/libMLIRXeGPUDialect.so.21.0git  lib/libMLIRLLVMDialect.so.21.0git  lib/libLLVMBitWriter.so.21.0git  lib/libLLVMMCParser.so.21.0git  lib/libLLVMMC.so.21.0git  lib/libLLVMIRReader.so.21.0git  lib/libLLVMAsmParser.so.21.0git  lib/libLLVMBitReader.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMBinaryFormat.so.21.0git  lib/libLLVMTargetParser.so.21.0git  lib/libMLIRLinalgTransforms.so.21.0git  lib/libMLIRVectorToSCF.so.21.0git  lib/libMLIRIndexDialect.so.21.0git  lib/libMLIRSCFTransforms.so.21.0git  lib/libMLIRTensorTransforms.so.21.0git  lib/libMLIRVectorTransforms.so.21.0git  lib/libMLIRGPUUtils.so.21.0git  lib/libMLIRMemRefTransforms.so.21.0git  lib/libMLIRAffineTransforms.so.21.0git  lib/libMLIRVectorUtils.so.21.0git  lib/libMLIRSCFUtils.so.21.0git  lib/libMLIRArithTransforms.so.21.0git  lib/libMLIRVectorDialect.so.21.0git  lib/libMLIRMaskableOpInterface.so.21.0git  lib/libMLIRMaskingOpInterface.so.21.0git  lib/libMLIRFuncTransforms.so.21.0git  lib/libMLIRBufferizationTransforms.so.21.0git  lib/libMLIRTransforms.so.21.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git  lib/libMLIRNVGPUDialect.so.21.0git  lib/libMLIRGPUDialect.so.21.0git  lib/libMLIRMemRefUtils.so.21.0git  lib/libMLIRMeshTransforms.so.21.0git  lib/libMLIRTosaShardingInterfaceImpl.so.21.0git  lib/libMLIRTosaDialect.so.21.0git  lib/libMLIRVectorInterfaces.so.21.0git  lib/libMLIRQuantUtils.so.21.0git  lib/libMLIRQuantDialect.so.21.0git  lib/libMLIRShardingInterface.so.21.0git  lib/libMLIRMeshDialect.so.21.0git  lib/libMLIRTensorTilingInterfaceImpl.so.21.0git  lib/libMLIRLinalgUtils.so.21.0git  lib/libMLIRAffineUtils.so.21.0git  lib/libMLIRLinalgDialect.so.21.0git  lib/libMLIRBufferizationDialect.so.21.0git  lib/libMLIRFuncDialect.so.21.0git  lib/libMLIRMathDialect.so.21.0git  lib/libMLIRParser.so.21.0git  lib/libMLIRBytecodeReader.so.21.0git  lib/libMLIRAsmParser.so.21.0git  lib/libMLIRSparseTensorDialect.so.21.0git  lib/libMLIRAffineAnalysis.so.21.0git  lib/libMLIRSCFDialect.so.21.0git  lib/libMLIRControlFlowDialect.so.21.0git  lib/libMLIRTensorUtils.so.21.0git  lib/libMLIRTilingInterface.so.21.0git  lib/libMLIRTensorDialect.so.21.0git  lib/libMLIRAffineDialect.so.21.0git  lib/libMLIRMemRefDialect.so.21.0git  lib/libMLIRMemorySlotInterfaces.so.21.0git  lib/libMLIRArithUtils.so.21.0git  lib/libMLIRComplexDialect.so.21.0git  lib/libMLIRDialectUtils.so.21.0git  lib/libMLIRShapedOpInterfaces.so.21.0git  lib/libMLIRParallelCombiningOpInterface.so.21.0git  lib/libMLIRDerivedAttributeOpInterface.so.21.0git  lib/libMLIRDLTIDialect.so.21.0git  lib/libMLIRPolynomialDialect.so.21.0git  lib/libMLIRArithDialect.so.21.0git  lib/libMLIRUBDialect.so.21.0git  lib/libMLIRCastInterfaces.so.21.0git  lib/libMLIRInferIntRangeCommon.so.21.0git  lib/libMLIRDialect.so.21.0git  lib/libMLIRReduce.so.21.0git  lib/libMLIRTransformUtils.so.21.0git  lib/libMLIRSubsetOpInterface.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/libMLIRValueBoundsOpInterface.so.21.0git  lib/libMLIRAnalysis.so.21.0git  lib/libMLIRDataLayoutInterfaces.so.21.0git  lib/libMLIRInferTypeOpInterface.so.21.0git  lib/libMLIRSideEffectInterfaces.so.21.0git  lib/libMLIRControlFlowInterfaces.so.21.0git  lib/libMLIRInferIntRangeInterface.so.21.0git  lib/libMLIRLoopLikeInterface.so.21.0git  lib/libMLIRFunctionInterfaces.so.21.0git  lib/libMLIRViewLikeInterface.so.21.0git  lib/libMLIRCallInterfaces.so.21.0git  lib/libMLIRPresburger.so.21.0git  lib/libMLIRDestinationStyleOpInterface.so.21.0git  lib/libMLIRIR.so.21.0git  lib/libMLIRSupport.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/Pass/CMakeFiles/MLIRTestPass.dir/TestVulkanRunnerPipeline.cpp.o: in function `(anonymous namespace)::buildTestVulkanRunnerPipeline(mlir::OpPassManager&, (anonymous namespace)::VulkanRunnerPipelineOptions const&)':
TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x5c0): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x5e8): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
/usr/bin/ld: TestVulkanRunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_129buildTestVulkanRunnerPipelineERN4mlir13OpPassManagerERKNS_27VulkanRunnerPipelineOptionsE+0x86c): undefined reference to `mlir::spirv::createSPIRVWebGPUPreparePass()'
/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+0xe4): undefined reference to `mlir::spirv::createSPIRVLowerABIAttributesPass()'
/usr/bin/ld: TestSPIRVCPURunnerPipeline.cpp:(.text._ZN12_GLOBAL__N_131buildTestSPIRVCPURunnerPipelineERN4mlir13OpPassManagerE+0x10c): undefined reference to `mlir::spirv::createSPIRVUpdateVCEPass()'
collect2: error: ld returned 1 exit status
953.031 [1174/37/6152] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MallocSizeofChecker.cpp.o
953.045 [1174/36/6153] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/IvarInvalidationChecker.cpp.o
953.049 [1174/35/6154] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MoveChecker.cpp.o
953.054 [1174/34/6155] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MIGChecker.cpp.o
953.063 [1174/33/6156] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LLVMConventionsChecker.cpp.o
953.066 [1174/32/6157] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NSAutoreleasePoolChecker.cpp.o
953.071 [1174/31/6158] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MPI-Checker/MPIFunctionClassifier.cpp.o
953.129 [1174/30/6159] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NSErrorChecker.cpp.o
953.149 [1174/29/6160] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NoReturnFunctionChecker.cpp.o
953.222 [1174/28/6161] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LocalizationChecker.cpp.o
953.232 [1174/27/6162] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NonnullGlobalConstantsChecker.cpp.o
953.256 [1174/26/6163] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NonNullParamChecker.cpp.o
953.269 [1174/25/6164] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCAtSyncChecker.cpp.o
953.334 [1174/24/6165] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MallocChecker.cpp.o
953.379 [1174/23/6166] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NoOwnershipChangeVisitor.cpp.o
953.481 [1174/22/6167] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NullabilityChecker.cpp.o
953.542 [1174/21/6168] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCMissingSuperCallChecker.cpp.o
953.545 [1174/20/6169] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCSuperDeallocChecker.cpp.o
953.549 [1174/19/6170] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCSelfInitChecker.cpp.o
953.559 [1174/18/6171] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCContainersChecker.cpp.o
953.561 [1174/17/6172] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCPropertyChecker.cpp.o
953.606 [1174/16/6173] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCUnusedIVarsChecker.cpp.o
953.637 [1174/15/6174] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PaddingChecker.cpp.o
953.651 [1174/14/6175] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCContainersASTChecker.cpp.o
953.654 [1174/13/6176] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PutenvStackArrayChecker.cpp.o
953.656 [1174/12/6177] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/NumberObjectConversionChecker.cpp.o
953.664 [1174/11/6178] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PthreadLockChecker.cpp.o
953.674 [1174/10/6179] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PointerArithChecker.cpp.o
953.799 [1174/9/6180] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PointerSubChecker.cpp.o

andfau-amd added a commit that referenced this pull request Jan 29, 2025
With the removal of mlir-vulkan-runner (as part of #73457) in
e7e3c45, this pass no longer has to be
public (previously it had to be so the runner could use it). This commit
makes it instead only available for use by mlir-opt.

This is a recommit of 058d183 (#124301)
which had been reverted in 4573c85 due
to a missing linker dependency on MLIRSPIRVTransforms in
mlir/test/lib/Pass/CMakeLists.txt (fixed in this commit).
@andfau-amd
Copy link
Contributor Author

Recommitted as 25ae1a2.

pashu123 added a commit to iree-org/llvm-project that referenced this pull request Feb 4, 2025
pashu123 added a commit to iree-org/llvm-project that referenced this pull request Feb 4, 2025
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.

4 participants