Skip to content
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

Reapply "[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)" #105703

Merged
merged 1 commit into from
Aug 29, 2024

Conversation

christopherbate
Copy link
Contributor

@christopherbate christopherbate commented Aug 22, 2024

Reapply the commit 43b5085 with additional fixes for building with
BUILD_SHARED_LIBS=ON.

@llvmbot
Copy link
Collaborator

llvmbot commented Aug 22, 2024

@llvm/pr-subscribers-mlir-complex
@llvm/pr-subscribers-mlir-tensor
@llvm/pr-subscribers-mlir-sparse

@llvm/pr-subscribers-mlir-affine

Author: Christopher Bate (christopherbate)

Changes

Reapply the commit with additional fixes for building with
BUILD_SHARED_LIBS=ON.


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

16 Files Affected:

  • (modified) mlir/lib/Conversion/AffineToStandard/CMakeLists.txt (-3)
  • (modified) mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt (+1)
  • (modified) mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt (+1-5)
  • (modified) mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp (-1)
  • (modified) mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt (+1-4)
  • (modified) mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp (+2-3)
  • (modified) mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt (+3-2)
  • (modified) mlir/lib/Conversion/VectorToSCF/CMakeLists.txt (-4)
  • (modified) mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt (-1)
  • (modified) mlir/lib/Dialect/Complex/IR/CMakeLists.txt (-1)
  • (modified) mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt (-2)
  • (modified) mlir/lib/Dialect/MemRef/IR/CMakeLists.txt (-3)
  • (modified) mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt (+1)
  • (modified) mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt (+2-1)
  • (modified) mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt (+1)
  • (modified) mlir/lib/Dialect/Tensor/IR/CMakeLists.txt (-3)
diff --git a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
index f41e3ca27ee4dd..cd8193aee8da32 100644
--- a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
+++ b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
@@ -7,9 +7,6 @@ add_mlir_conversion_library(MLIRAffineToStandard
   DEPENDS
   MLIRConversionPassIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRAffineTransforms
diff --git a/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
index b6fae75c15b956..d3a5bf2aa2f05b 100644
--- a/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
@@ -11,6 +11,7 @@ add_mlir_conversion_library(MLIRComplexToLLVM
   Core
 
   LINK_LIBS PUBLIC
+  MLIRArithAttrToLLVMConversion
   MLIRComplexDialect
   MLIRLLVMCommonConversion
   MLIRLLVMDialect
diff --git a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
index 679eca3dfa988c..e7024dfbd5ee32 100644
--- a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
+++ b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
@@ -5,11 +5,7 @@ add_mlir_conversion_library(MLIRControlFlowToSCF
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/ControlFlowToSCF
 
   DEPENDS
-  MLIRConversionPassIncGen
-  intrinsics_gen
-
-  LINK_COMPONENTS
-  Core
+  MLIRConversionPassIncGen  
 
   LINK_LIBS PUBLIC
   MLIRAnalysis
diff --git a/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp b/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
index d3ee89743da9db..1c592d665f3e4c 100644
--- a/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
+++ b/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
@@ -16,7 +16,6 @@
 #include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/UB/IR/UBOps.h"
 #include "mlir/Pass/Pass.h"
diff --git a/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt b/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
index 63c5199af9290c..ff64b8fcca0830 100644
--- a/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
+++ b/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
@@ -5,10 +5,7 @@ add_mlir_conversion_library(MLIRSCFToControlFlow
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/SCFToControlFlow
 
   DEPENDS
-  MLIRConversionPassIncGen
-
-  LINK_COMPONENTS
-  Core
+  MLIRConversionPassIncGen  
 
   LINK_LIBS PUBLIC
   MLIRArithDialect
diff --git a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
index 2372ab5b82a772..cef96c206dda5c 100644
--- a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+++ b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
@@ -15,7 +15,6 @@
 
 #include "mlir/Dialect/Arith/IR/Arith.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/IR/Builders.h"
@@ -379,8 +378,8 @@ LogicalResult ForLowering::matchAndRewrite(ForOp forOp,
   // llvm.loop_annotation attribute.
   SmallVector<NamedAttribute> llvmAttrs;
   llvm::copy_if(forOp->getAttrs(), std::back_inserter(llvmAttrs),
-                [](auto attr) {
-                  return isa<LLVM::LLVMDialect>(attr.getValue().getDialect());
+                [](NamedAttribute attr) {
+                  return attr.getValue().getDialect().getNamespace() == "llvm";
                 });
   condBranchOp->setDiscardableAttrs(llvmAttrs);
   // The result of the loop operation is the values of the condition block
diff --git a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
index a0fce139f27466..925e12fafa2836 100644
--- a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
@@ -13,10 +13,11 @@ add_mlir_conversion_library(MLIRVectorToLLVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRArithDialect
+  MLIRArithAttrToLLVMConversion
+  MLIRArithDialect  
   MLIRLLVMCommonConversion
   MLIRLLVMDialect
-  MLIRMemRefDialect
+  MLIRMemRefDialect  
   MLIRTargetLLVMIRExport
   MLIRTransforms
   MLIRVectorDialect
diff --git a/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt b/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
index 83bbc4a4bc395a..0915270e453dfd 100644
--- a/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
@@ -4,12 +4,8 @@ add_mlir_conversion_library(MLIRVectorToSCF
   ADDITIONAL_HEADER_DIRS
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/VectorToSCF
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRArithDialect
-  MLIRLLVMDialect
   MLIRMemRefDialect
   MLIRTransforms
   MLIRVectorDialect
diff --git a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
index 60d14a373348d3..772f15335d907f 100644
--- a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
@@ -39,6 +39,5 @@ add_mlir_dialect_library(MLIRAffineTransforms
   MLIRValueBoundsOpInterface
   MLIRVectorDialect
   MLIRVectorUtils
-  MLIRVectorToLLVM
   )
 
diff --git a/mlir/lib/Dialect/Complex/IR/CMakeLists.txt b/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
index 3ee0d26f3225f7..a90f34ec1684d9 100644
--- a/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
@@ -10,7 +10,6 @@ add_mlir_dialect_library(MLIRComplexDialect
   MLIRComplexAttributesIncGen
 
   LINK_LIBS PUBLIC
-  MLIRArithAttrToLLVMConversion
   MLIRArithDialect
   MLIRDialect
   MLIRInferTypeOpInterface
diff --git a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
index a7dcc29b5b9be1..47af392def94ac 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
@@ -60,7 +60,6 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   MLIRDestinationStyleOpInterface
   MLIRDialectUtils
   MLIRFuncDialect
-  MLIRFuncToLLVM
   MLIRFuncTransforms
   MLIRIndexDialect
   MLIRInferTypeOpInterface
@@ -87,6 +86,5 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   MLIRVectorDialect
   MLIRVectorTransforms
   MLIRVectorUtils
-  MLIRX86VectorTransforms
   MLIRVectorToSCF
 )
diff --git a/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt b/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
index fd2fed28badd63..845914ebd107a2 100644
--- a/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
@@ -10,9 +10,6 @@ add_mlir_dialect_library(MLIRMemRefDialect
   DEPENDS
   MLIRMemRefOpsIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRArithDialect
   MLIRArithUtils
diff --git a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
index e379663f3b0a01..4c9e3d3c813f7a 100644
--- a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
@@ -19,4 +19,5 @@ add_mlir_dialect_library(MLIRMemRefTransformOps
   MLIRNVGPUDialect
   MLIRTransformDialect
   MLIRVectorDialect
+  MLIRVectorTransforms
 )
diff --git a/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt b/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
index f150ac7ac2d634..01bec09f1f21f5 100644
--- a/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
@@ -35,11 +35,12 @@ add_mlir_dialect_library(MLIRMemRefTransforms
   MLIRInferTypeOpInterface
   MLIRLoopLikeInterface
   MLIRMemRefDialect
+  MLIRMemRefUtils
   MLIRNVGPUDialect
   MLIRPass
   MLIRTensorDialect
   MLIRTransforms
   MLIRValueBoundsOpInterface
-  MLIRVectorDialect
+  MLIRVectorDialect  
 )
 
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
index e4acfa8889e5f8..43e5c3251c5258 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
@@ -40,6 +40,7 @@ add_mlir_dialect_library(MLIRSparseTensorTransforms
   MLIRLLVMDialect
   MLIRLinalgDialect
   MLIRLinalgTransforms
+  MLIRLLVMCommonConversion
   MLIRMemRefDialect
   MLIRPass
   MLIRSCFDialect
diff --git a/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt b/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
index 549b9f10388bd4..cfdd3847761a49 100644
--- a/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
@@ -17,9 +17,6 @@ add_mlir_dialect_library(MLIRTensorDialect
   DEPENDS
   MLIRTensorOpsIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRArithDialect

@llvmbot
Copy link
Collaborator

llvmbot commented Aug 22, 2024

@llvm/pr-subscribers-mlir-memref

Author: Christopher Bate (christopherbate)

Changes

Reapply the commit with additional fixes for building with
BUILD_SHARED_LIBS=ON.


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

16 Files Affected:

  • (modified) mlir/lib/Conversion/AffineToStandard/CMakeLists.txt (-3)
  • (modified) mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt (+1)
  • (modified) mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt (+1-5)
  • (modified) mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp (-1)
  • (modified) mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt (+1-4)
  • (modified) mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp (+2-3)
  • (modified) mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt (+3-2)
  • (modified) mlir/lib/Conversion/VectorToSCF/CMakeLists.txt (-4)
  • (modified) mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt (-1)
  • (modified) mlir/lib/Dialect/Complex/IR/CMakeLists.txt (-1)
  • (modified) mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt (-2)
  • (modified) mlir/lib/Dialect/MemRef/IR/CMakeLists.txt (-3)
  • (modified) mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt (+1)
  • (modified) mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt (+2-1)
  • (modified) mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt (+1)
  • (modified) mlir/lib/Dialect/Tensor/IR/CMakeLists.txt (-3)
diff --git a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
index f41e3ca27ee4dd..cd8193aee8da32 100644
--- a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
+++ b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
@@ -7,9 +7,6 @@ add_mlir_conversion_library(MLIRAffineToStandard
   DEPENDS
   MLIRConversionPassIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRAffineTransforms
diff --git a/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
index b6fae75c15b956..d3a5bf2aa2f05b 100644
--- a/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
@@ -11,6 +11,7 @@ add_mlir_conversion_library(MLIRComplexToLLVM
   Core
 
   LINK_LIBS PUBLIC
+  MLIRArithAttrToLLVMConversion
   MLIRComplexDialect
   MLIRLLVMCommonConversion
   MLIRLLVMDialect
diff --git a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
index 679eca3dfa988c..e7024dfbd5ee32 100644
--- a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
+++ b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
@@ -5,11 +5,7 @@ add_mlir_conversion_library(MLIRControlFlowToSCF
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/ControlFlowToSCF
 
   DEPENDS
-  MLIRConversionPassIncGen
-  intrinsics_gen
-
-  LINK_COMPONENTS
-  Core
+  MLIRConversionPassIncGen  
 
   LINK_LIBS PUBLIC
   MLIRAnalysis
diff --git a/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp b/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
index d3ee89743da9db..1c592d665f3e4c 100644
--- a/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
+++ b/mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
@@ -16,7 +16,6 @@
 #include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
 #include "mlir/Dialect/Func/IR/FuncOps.h"
-#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/UB/IR/UBOps.h"
 #include "mlir/Pass/Pass.h"
diff --git a/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt b/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
index 63c5199af9290c..ff64b8fcca0830 100644
--- a/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
+++ b/mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
@@ -5,10 +5,7 @@ add_mlir_conversion_library(MLIRSCFToControlFlow
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/SCFToControlFlow
 
   DEPENDS
-  MLIRConversionPassIncGen
-
-  LINK_COMPONENTS
-  Core
+  MLIRConversionPassIncGen  
 
   LINK_LIBS PUBLIC
   MLIRArithDialect
diff --git a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
index 2372ab5b82a772..cef96c206dda5c 100644
--- a/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+++ b/mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
@@ -15,7 +15,6 @@
 
 #include "mlir/Dialect/Arith/IR/Arith.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
 #include "mlir/Dialect/SCF/IR/SCF.h"
 #include "mlir/Dialect/SCF/Transforms/Transforms.h"
 #include "mlir/IR/Builders.h"
@@ -379,8 +378,8 @@ LogicalResult ForLowering::matchAndRewrite(ForOp forOp,
   // llvm.loop_annotation attribute.
   SmallVector<NamedAttribute> llvmAttrs;
   llvm::copy_if(forOp->getAttrs(), std::back_inserter(llvmAttrs),
-                [](auto attr) {
-                  return isa<LLVM::LLVMDialect>(attr.getValue().getDialect());
+                [](NamedAttribute attr) {
+                  return attr.getValue().getDialect().getNamespace() == "llvm";
                 });
   condBranchOp->setDiscardableAttrs(llvmAttrs);
   // The result of the loop operation is the values of the condition block
diff --git a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
index a0fce139f27466..925e12fafa2836 100644
--- a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
@@ -13,10 +13,11 @@ add_mlir_conversion_library(MLIRVectorToLLVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRArithDialect
+  MLIRArithAttrToLLVMConversion
+  MLIRArithDialect  
   MLIRLLVMCommonConversion
   MLIRLLVMDialect
-  MLIRMemRefDialect
+  MLIRMemRefDialect  
   MLIRTargetLLVMIRExport
   MLIRTransforms
   MLIRVectorDialect
diff --git a/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt b/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
index 83bbc4a4bc395a..0915270e453dfd 100644
--- a/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
@@ -4,12 +4,8 @@ add_mlir_conversion_library(MLIRVectorToSCF
   ADDITIONAL_HEADER_DIRS
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/VectorToSCF
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRArithDialect
-  MLIRLLVMDialect
   MLIRMemRefDialect
   MLIRTransforms
   MLIRVectorDialect
diff --git a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
index 60d14a373348d3..772f15335d907f 100644
--- a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
@@ -39,6 +39,5 @@ add_mlir_dialect_library(MLIRAffineTransforms
   MLIRValueBoundsOpInterface
   MLIRVectorDialect
   MLIRVectorUtils
-  MLIRVectorToLLVM
   )
 
diff --git a/mlir/lib/Dialect/Complex/IR/CMakeLists.txt b/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
index 3ee0d26f3225f7..a90f34ec1684d9 100644
--- a/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Complex/IR/CMakeLists.txt
@@ -10,7 +10,6 @@ add_mlir_dialect_library(MLIRComplexDialect
   MLIRComplexAttributesIncGen
 
   LINK_LIBS PUBLIC
-  MLIRArithAttrToLLVMConversion
   MLIRArithDialect
   MLIRDialect
   MLIRInferTypeOpInterface
diff --git a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
index a7dcc29b5b9be1..47af392def94ac 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
@@ -60,7 +60,6 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   MLIRDestinationStyleOpInterface
   MLIRDialectUtils
   MLIRFuncDialect
-  MLIRFuncToLLVM
   MLIRFuncTransforms
   MLIRIndexDialect
   MLIRInferTypeOpInterface
@@ -87,6 +86,5 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   MLIRVectorDialect
   MLIRVectorTransforms
   MLIRVectorUtils
-  MLIRX86VectorTransforms
   MLIRVectorToSCF
 )
diff --git a/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt b/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
index fd2fed28badd63..845914ebd107a2 100644
--- a/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
@@ -10,9 +10,6 @@ add_mlir_dialect_library(MLIRMemRefDialect
   DEPENDS
   MLIRMemRefOpsIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRArithDialect
   MLIRArithUtils
diff --git a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
index e379663f3b0a01..4c9e3d3c813f7a 100644
--- a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
@@ -19,4 +19,5 @@ add_mlir_dialect_library(MLIRMemRefTransformOps
   MLIRNVGPUDialect
   MLIRTransformDialect
   MLIRVectorDialect
+  MLIRVectorTransforms
 )
diff --git a/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt b/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
index f150ac7ac2d634..01bec09f1f21f5 100644
--- a/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
@@ -35,11 +35,12 @@ add_mlir_dialect_library(MLIRMemRefTransforms
   MLIRInferTypeOpInterface
   MLIRLoopLikeInterface
   MLIRMemRefDialect
+  MLIRMemRefUtils
   MLIRNVGPUDialect
   MLIRPass
   MLIRTensorDialect
   MLIRTransforms
   MLIRValueBoundsOpInterface
-  MLIRVectorDialect
+  MLIRVectorDialect  
 )
 
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
index e4acfa8889e5f8..43e5c3251c5258 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
@@ -40,6 +40,7 @@ add_mlir_dialect_library(MLIRSparseTensorTransforms
   MLIRLLVMDialect
   MLIRLinalgDialect
   MLIRLinalgTransforms
+  MLIRLLVMCommonConversion
   MLIRMemRefDialect
   MLIRPass
   MLIRSCFDialect
diff --git a/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt b/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
index 549b9f10388bd4..cfdd3847761a49 100644
--- a/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
@@ -17,9 +17,6 @@ add_mlir_dialect_library(MLIRTensorDialect
   DEPENDS
   MLIRTensorOpsIncGen
 
-  LINK_COMPONENTS
-  Core
-
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRArithDialect

@aartbik
Copy link
Contributor

aartbik commented Aug 22, 2024

LGTM for sparse part

… dialects on LLVM Dialect and LLVM Core in CMake build (llvm#104832)"

Reapply the commit with additional fixes for building with
BUILD_SHARED_LIBS=ON.
@christopherbate christopherbate merged commit 8bf69ce into llvm:main Aug 29, 2024
8 checks passed
@christopherbate christopherbate deleted the mlir-llvm-dep branch August 29, 2024 04:34
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 29, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
47.605 [2461/19/4698] Creating library symlink lib/libMLIRFuncToSPIRV.so
47.646 [2453/26/4699] Creating library symlink lib/libMLIRVectorToSPIRV.so
47.647 [2453/25/4700] Linking CXX shared library lib/libMLIRBufferizationPipelines.so.20.0git
47.648 [2453/24/4701] Creating library symlink lib/libMLIRSPIRVTransforms.so
47.648 [2453/23/4702] Creating library symlink lib/libMLIRArithTestPasses.so
47.649 [2453/22/4703] Creating library symlink lib/libMLIRSPIRVDeserialization.so
47.650 [2453/21/4704] Linking CXX shared library lib/libMLIRCAPITransformDialect.so.20.0git
47.650 [2453/20/4705] Linking CXX shared library lib/libMLIRMeshTest.so.20.0git
47.664 [2453/19/4706] Building TestOps.5.cpp...
47.666 [2453/18/4707] Linking CXX shared library lib/libMLIRSCFToControlFlow.so.20.0git
FAILED: lib/libMLIRSCFToControlFlow.so.20.0git 
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-i
nterposition -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 -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,libMLIRSCFToControlFlow.so.20.0git -o lib/libMLIRSCFToControlFlow.so.20.0git tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib:"  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRCopyOpInterface.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-latest-gcc/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o: in function `(anonymous namespace)::ForLowering::matchAndRewrite(mlir::scf::ForOp, mlir::PatternRewriter&) const':
SCFToControlFlow.cpp:(.text._ZNK12_GLOBAL__N_111ForLowering15matchAndRewriteEN4mlir3scf5ForOpERNS1_15PatternRewriterE+0x684): undefined reference to `mlir::detail::TypeIDResolver<mlir::LLVM::LLVMDialect, void>::id'
/usr/bin/ld: SCFToControlFlow.cpp:(.t
ext._ZNK12_GLOBAL__N_111ForLowering15matchAndRewriteEN4mlir3scf5ForOpERNS1_15PatternRewriterE+0x688): undefined reference to `mlir::detail::TypeIDResolver<mlir::LLVM::LLVMDialect, void>::id'
collect2: error: ld returned 1 exit status
47.680 [2453/17/4708] Linking CXX shared library lib/libMLIRMathTestPasses.so.20.0git
47.751 [2453/16/4709] Linking CXX shared library lib/libMLIRSPIRVSerialization.so.20.0git
47.779 [2453/15/4710] Linking CXX shared library lib/libMLIRTestConvertToSPIRV.so.20.0git
47.797 [2453/14/4711] Linking CXX shared library lib/libMLIRArmSMETransforms.so.20.0git
47.816 [2453/13/4712] Linking CXX shared library lib/libMLIRMemRefTransformOps.so.20.0git
47.841 [2453/12/4713] Linking CXX shared library lib/libMLIRNVGPUTestPasses.so.20.0git
47.866 [2453/11/4714] Linking CXX shared library lib/libMLIRNVVMTarget.so.20.0git
47.867 [2453/10/4715] Linking CXX shared library lib/libMLIRCAPITransformDialectTransforms.so.20.0git
47.870 [2453/9/4716] Linking CXX shared library lib/libMLIRShapeTestPasses.so.20.0git
47.900 [2453/8/4717] Linking CXX shared library lib/libMLIRSCFTestPasses.so.20.0git
47.913 [2453/7/4718] Linking CXX shared library lib/libMLIRToLLVMIRTranslationRegistration.so.20.0git
47.942 [2453/6/4719] Linking CXX shared library lib/libMLIRROCDLTarget.so.20.0git
47.966 [2453/5/4720] Linking CXX shared library lib/libMLIRExecutionEngine.so.20.0git
47.990 [2453/4/4721] Linking CXX shared library lib/libMLIRTensorTestPasses.so.20.0git
48.010 [2453/3/4722] Linking CXX shared library lib/libMLIRSPIRVTestPasses.so.20.0git
48.043 [2453/2/4723] Linking CXX shared library lib/libMLIRArithToSPIRV.so.20.0git
48.329 [2453/1/4724] Linking CXX shared library lib/libMLIRLinalgTransforms.so.20.0git
ninja: build stopped: subcommand failed.


@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 29, 2024

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

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

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

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 29, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
37.310 [2140/26/4996] Creating library symlink lib/libMLIRSPIRVTranslateRegistration.so
37.310 [2140/25/4997] Creating library symlink lib/libMLIRSPIRVTarget.so
37.311 [2140/24/4998] Copying clang's ppc_wrappers/x86gprintrin.h...
37.312 [2140/23/4999] Copying clang's openmp_wrappers/math.h...
37.312 [2140/22/5000] Copying clang's openmp_wrappers/cmath...
37.313 [2140/21/5001] Copying clang's openmp_wrappers/complex...
37.314 [2140/20/5002] Copying clang's openmp_wrappers/complex.h...
37.314 [2140/19/5003] Copying clang's openmp_wrappers/__clang_openmp_device_functions.h...
37.340 [2140/18/5004] Linking CXX shared library lib/libMLIRGPUToVulkanTransforms.so.20.0git
37.376 [2140/17/5005] Linking CXX shared library lib/libMLIRSCFToControlFlow.so.20.0git
FAILED: lib/libMLIRSCFToControlFlow.so.20.0git 
: && /usr/local/bin/c++ -fPIC -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -Werror=global-constructors -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,libMLIRSCFToControlFlow.so.20.0git -o lib/libMLIRSCFToControlFlow.so.20.0git tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib:"  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRCopyOpInterface.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/lib && :
/usr/bin/ld: tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o: in function `(anonymous namespace)::ForLowering::matchAndRewrite(mlir::scf::ForOp, mlir::PatternRewriter&) const':
SCFToControlFlow.cpp:(.text._ZNK12_GLOBAL__N_111ForLowering15matchAndRewriteEN4mlir3scf5ForOpERNS1_15PatternRewriterE+0x3e8): undefined reference to `mlir::detail::TypeIDResolver<mlir::LLVM::LLVMDialect, void>::id'
/usr/bin/ld: SCFToControlFlow.cpp:(.text._ZNK12_GLOBAL__N_111ForLowering15matchAndRewriteEN4mlir3scf5ForOpERNS1_15PatternRewriterE+0x3f0): undefined reference to `mlir::detail::TypeIDResolver<mlir::LLVM::LLVMDialect, void>::id'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
37.400 [2140/16/5006] Linking CXX shared library lib/libMLIRSCFTestPasses.so.20.0git
37.428 [2140/15/5007] Linking CXX shared library lib/libMLIRComplexToSPIRV.so.20.0git
37.452 [2140/14/5008] Linking CXX shared library lib/libMLIRControlFlowToSPIRV.so.20.0git
37.452 [2140/13/5009] Linking CXX shared library lib/libMLIRFuncToSPIRV.so.20.0git
37.454 [2140/12/5010] Linking CXX shared library lib/libMLIRTestConvertToSPIRV.so.20.0git
37.466 [2140/11/5011] Linking CXX shared library lib/libMLIRSPIRVTransforms.so.20.0git
37.466 [2140/10/5012] Linking CXX shared library lib/libMLIRVectorToSPIRV.so.20.0git
37.466 [2140/9/5013] Linking CXX shared library lib/libMLIRUBToSPIRV.so.20.0git
37.466 [2140/8/5014] Linking CXX shared library lib/libMLIRSPIRVTestPasses.so.20.0git
37.468 [2140/7/5015] Linking CXX shared library lib/libMLIRArmSMETransforms.so.20.0git
37.473 [2140/6/5016] Linking CXX shared library lib/libMLIRMathToSPIRV.so.20.0git
37.478 [2140/5/5017] Linking CXX shared library lib/libMLIRIndexToSPIRV.so.20.0git
37.480 [2140/4/5018] Linking CXX shared library lib/libMLIRMemRefToSPIRV.so.20.0git
37.587 [2140/3/5019] Linking CXX shared library lib/libMLIRToLLVMIRTranslationRegistration.so.20.0git
37.587 [2140/2/5020] Linking CXX shared library lib/libMLIRVectorTransformOps.so.20.0git
37.671 [2140/1/5021] Linking CXX shared library lib/libMLIRLinalgTransforms.so.20.0git
ninja: build stopped: subcommand failed.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 29, 2024

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

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

Here is the relevant piece of the build log for the reference
Step 5 (build-check-mlir-build-only) failure: build (failure)
...
19.558 [951/16/3983] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgRankReduceContractionOps.cpp.o
19.560 [950/16/3984] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgTransforms.cpp.o
19.562 [949/16/3985] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgFusionTransforms.cpp.o
19.567 [948/16/3986] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgDropUnitDims.cpp.o
19.583 [947/16/3987] Linking CXX shared library lib/libMLIRSPIRVTransforms.so.20.0git
19.588 [946/16/3988] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestDataLayoutPropagation.cpp.o
19.592 [945/16/3989] Creating library symlink lib/libMLIRSPIRVTransforms.so
19.593 [944/16/3990] Linking CXX shared library lib/libMLIRVectorToSPIRV.so.20.0git
19.593 [943/16/3991] Linking CXX shared library lib/libMLIRTestConvertToSPIRV.so.20.0git
19.594 [942/16/3992] Linking CXX shared library lib/libMLIRSCFToControlFlow.so.20.0git
FAILED: lib/libMLIRSCFToControlFlow.so.20.0git 
: && /usr/bin/clang++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -Werror=global-constructors -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libMLIRSCFToControlFlow.so.20.0git -o lib/libMLIRSCFToControlFlow.so.20.0git tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib:"  lib/libMLIRSCFTransforms.so.20.0git  lib/libMLIRTensorTransforms.so.20.0git  lib/libMLIRBufferizationTransforms.so.20.0git  lib/libMLIRAffineTransforms.so.20.0git  lib/libMLIRSCFUtils.so.20.0git  lib/libMLIRTransforms.so.20.0git  lib/libMLIRCopyOpInterface.so.20.0git  lib/libMLIRRuntimeVerifiableOpInterface.so.20.0git  lib/libMLIRAffineUtils.so.20.0git  lib/libMLIRLinalgDialect.so.20.0git  lib/libMLIRBufferizationDialect.so.20.0git  lib/libMLIRSparseTensorDialect.so.20.0git  lib/libMLIRParser.so.20.0git  lib/libMLIRBytecodeReader.so.20.0git  lib/libMLIRAsmParser.so.20.0git  lib/libMLIRShardingInterface.so.20.0git  lib/libMLIRMeshDialect.so.20.0git  lib/libMLIRMathDialect.so.20.0git  lib/libMLIRTensorUtils.so.20.0git  lib/libMLIRVectorUtils.so.20.0git  lib/libMLIRAffineAnalysis.so.20.0git  lib/libMLIRSCFDialect.so.20.0git  lib/libMLIRControlFlowDialect.so.20.0git  lib/libMLIRFuncDialect.so.20.0git  lib/libMLIRVectorDialect.so.20.0git  lib/libMLIRTensorDialect.so.20.0git  lib/libMLIRParallelCombiningOpInterface.so.20.0git  lib/libMLIRAffineDialect.so.20.0git  lib/libMLIRMemRefDialect.so.20.0git  lib/libMLIRMemorySlotInterfaces.so.20.0git  lib/libMLIRArithUtils.so.20.0git  lib/libMLIRDialectUtils.so.20.0git  lib/libMLIRComplexDialect.so.20.0git  lib/libMLIRArithDialect.so.20.0git  lib/libMLIRCastInterfaces.so.20.0git  lib/libMLIRInferIntRangeCommon.so.20.0git  lib/libMLIRUBDialect.so.20.0git  lib/libMLIRDialect.so.20.0git  lib/libMLIRShapedOpInterfaces.so.20.0git  lib/libMLIRMaskableOpInterface.so.20.0git  lib/libMLIRMaskingOpInterface.so.20.0git  lib/libMLIRVectorInterfaces.so.20.0git  lib/libMLIRTilingInterface.so.20.0git  lib/libMLIRTransformUtils.so.20.0git  lib/libMLIRSubsetOpInterface.so.20.0git  lib/libMLIRValueBoundsOpInterface.so.20.0git  lib/libMLIRDestinationStyleOpInterface.so.20.0git  lib/libMLIRRewrite.so.20.0git  lib/libMLIRRewritePDL.so.20.0git  lib/libMLIRPDLToPDLInterp.so.20.0git  lib/libMLIRPass.so.20.0git  lib/libMLIRAnalysis.so.20.0git  lib/libMLIRInferIntRangeInterface.so.20.0git  lib/libMLIRControlFlowInterfaces.so.20.0git  lib/libMLIRLoopLikeInterface.so.20.0git  lib/libMLIRViewLikeInterface.so.20.0git  lib/libMLIRCallInterfaces.so.20.0git  lib/libMLIRPresburger.so.20.0git  lib/libMLIRDataLayoutInterfaces.so.20.0git  lib/libMLIRPDLInterpDialect.so.20.0git  lib/libMLIRFunctionInterfaces.so.20.0git  lib/libMLIRPDLDialect.so.20.0git  lib/libMLIRInferTypeOpInterface.so.20.0git  lib/libMLIRSideEffectInterfaces.so.20.0git  lib/libMLIRIR.so.20.0git  lib/libMLIRSupport.so.20.0git  lib/libLLVMSupport.so.20.0git  -Wl,-rpath-link,/vol/worker/mlir-nvidia/mlir-nvidia/llvm.obj/lib && :
ld.lld: error: undefined symbol: mlir::detail::TypeIDResolver<mlir::LLVM::LLVMDialect, void>::id
>>> referenced by SCFToControlFlow.cpp
>>>               tools/mlir/lib/Conversion/SCFToControlFlow/CMakeFiles/obj.MLIRSCFToControlFlow.dir/SCFToControlFlow.cpp.o:((anonymous namespace)::ForLowering::matchAndRewrite(mlir::scf::ForOp, mlir::PatternRewriter&) const)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
19.595 [942/15/3993] Building CXX object tools/mlir/test/lib/Dialect/Mesh/CMakeFiles/MLIRMeshTest.dir/TestSimplifications.cpp.o
19.595 [942/14/3994] Building CXX object tools/mlir/test/lib/Dialect/Mesh/CMakeFiles/MLIRMeshTest.dir/TestOpLowering.cpp.o
19.596 [942/13/3995] Building CXX object tools/mlir/test/lib/Dialect/SCF/CMakeFiles/MLIRSCFTestPasses.dir/TestLoopUnrolling.cpp.o
19.600 [942/12/3996] Building CXX object tools/mlir/test/lib/Dialect/Linalg/CMakeFiles/MLIRLinalgTestPasses.dir/TestLinalgElementwiseFusion.cpp.o
19.600 [942/11/3997] Creating library symlink lib/libMLIRTestConvertToSPIRV.so
19.601 [942/10/3998] Creating library symlink lib/libMLIRVectorToSPIRV.so
19.601 [942/9/3999] Building CXX object tools/mlir/test/lib/Dialect/Mesh/CMakeFiles/MLIRMeshTest.dir/TestReshardingSpmdization.cpp.o
19.608 [942/8/4000] Building CXX object tools/mlir/test/lib/Dialect/Math/CMakeFiles/MLIRMathTestPasses.dir/TestExpandMath.cpp.o
19.614 [942/7/4001] Building CXX object tools/mlir/test/lib/Dialect/SCF/CMakeFiles/MLIRSCFTestPasses.dir/TestLoopParametricTiling.cpp.o
19.621 [942/6/4002] Linking CXX shared library lib/libMLIRArithToSPIRV.so.20.0git
19.630 [942/5/4003] Building CXX object tools/mlir/test/lib/Dialect/NVGPU/CMakeFiles/MLIRNVGPUTestPasses.dir/TestNVGPUTransforms.cpp.o
19.691 [942/4/4004] Linking CXX shared library lib/libMLIRLinalgTransforms.so.20.0git
20.415 [942/3/4005] Building X86GenInstrInfo.inc...
22.465 [942/2/4006] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
28.055 [942/1/4007] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
ninja: build stopped: subcommand failed.

5c4lar pushed a commit to 5c4lar/llvm-project that referenced this pull request Aug 29, 2024
… dialects on LLVM Dialect and LLVM Core in CMake build (llvm#104832)" (llvm#105703)

Reapply the commit 43b5085 with
additional fixes for building with
BUILD_SHARED_LIBS=ON.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants