Skip to content

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