[Mlir-commits] [clang] [flang] [mlir] [mlir] Split analysis implementations into subsystem libraries (PR #232793)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Oct 16 08:05:38 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Mehdi Amini (joker-eph)

<details>
<summary>Changes</summary>

Introduce MLIRAnalysisBase, MLIRAnalysisDataFlow and MLIRAnalysisPresburger with independent source ownership and focused interface dependencies. Keep the generic Presburger mathematics library independent of MLIR IR.

Reuse the component objects in the full MLIRAnalysis compatibility archive, and include only the components in aggregate libMLIR. Migrate MLIR, CIR and Flang library consumers to their required analysis APIs, including dependencies previously supplied through other libraries.

This reduces unnecessary transitive dependencies: we don't need to build Presburger and similar things for CIR for example.

Assisted-by: Codex

---

Patch is 30.30 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/232793.diff


57 Files Affected:

- (modified) clang/lib/CIR/Dialect/Analysis/CMakeLists.txt (+1-1) 
- (modified) clang/lib/CIR/Dialect/Transforms/CMakeLists.txt (+1-1) 
- (modified) clang/test/CIR/lib/Analysis/CMakeLists.txt (+1-1) 
- (modified) flang/lib/Optimizer/Analysis/CMakeLists.txt (+1) 
- (modified) flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt (+1) 
- (modified) flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt (+1) 
- (modified) flang/lib/Optimizer/OpenMP/CMakeLists.txt (+1) 
- (modified) flang/lib/Optimizer/Transforms/CMakeLists.txt (+1-1) 
- (modified) flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Analysis/CMakeLists.txt (+83-33) 
- (modified) mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt (-1) 
- (modified) mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt (+1) 
- (modified) mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/MathToXeVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/SCFToGPU/CMakeLists.txt (+1) 
- (modified) mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Conversion/VectorToGPU/CMakeLists.txt (+1) 
- (modified) mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/Affine/Analysis/CMakeLists.txt (+2-1) 
- (modified) mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Affine/Utils/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Async/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/SCF/Utils/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/Transform/IR/CMakeLists.txt (+1) 
- (modified) mlir/lib/Dialect/XeGPU/TransformOps/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt (+1) 
- (modified) mlir/lib/Interfaces/CMakeLists.txt (+1-1) 
- (modified) mlir/lib/Pass/CMakeLists.txt (-1) 
- (modified) mlir/lib/Query/Matcher/CMakeLists.txt (+1) 
- (modified) mlir/lib/Rewrite/CMakeLists.txt (+7) 
- (modified) mlir/lib/Target/LLVMIR/CMakeLists.txt (+1) 
- (modified) mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt (+1) 
- (modified) mlir/lib/Transforms/CMakeLists.txt (+2-1) 
- (modified) mlir/lib/Transforms/Utils/CMakeLists.txt (+1-1) 
- (modified) mlir/test/lib/Analysis/CMakeLists.txt (+3-2) 
- (modified) mlir/test/lib/Dialect/Affine/CMakeLists.txt (+1) 
- (modified) mlir/test/lib/Dialect/DLTI/CMakeLists.txt (+1) 
- (modified) mlir/test/lib/Dialect/NVGPU/CMakeLists.txt (+1-1) 
- (modified) mlir/test/lib/Dialect/Vector/CMakeLists.txt (+1-1) 
- (modified) mlir/test/lib/IR/CMakeLists.txt (+1) 
- (modified) mlir/test/lib/Transforms/CMakeLists.txt (+1-1) 


``````````diff
diff --git a/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt b/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
index 778119c4f77317..888583416dde72 100644
--- a/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
+++ b/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
@@ -5,6 +5,6 @@ add_clang_library(MLIRCIRAnalysis
   LINK_LIBS PUBLIC
   MLIRCIR
   MLIRIR
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRSideEffectInterfaces
 )
diff --git a/clang/lib/CIR/Dialect/Transforms/CMakeLists.txt b/clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
index 614f3608352426..35861f67abdef1 100644
--- a/clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
+++ b/clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
@@ -26,7 +26,7 @@ add_clang_library(MLIRCIRTransforms
   clangBasic
 
   MLIRABI
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRDLTIDialect
   MLIRIR
   MLIRPass
diff --git a/clang/test/CIR/lib/Analysis/CMakeLists.txt b/clang/test/CIR/lib/Analysis/CMakeLists.txt
index a2840ce75e1b7e..39292698db348e 100644
--- a/clang/test/CIR/lib/Analysis/CMakeLists.txt
+++ b/clang/test/CIR/lib/Analysis/CMakeLists.txt
@@ -5,7 +5,7 @@ add_clang_library(CIRTestAnalysis
   MLIRCIRAnalysis
   MLIRCIR
   MLIRIR
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRPass
   MLIRTestAliasAnalysis
 )
diff --git a/flang/lib/Optimizer/Analysis/CMakeLists.txt b/flang/lib/Optimizer/Analysis/CMakeLists.txt
index 50a01240e44fc1..f16ed3a15e8796 100644
--- a/flang/lib/Optimizer/Analysis/CMakeLists.txt
+++ b/flang/lib/Optimizer/Analysis/CMakeLists.txt
@@ -22,6 +22,7 @@ add_flang_library(FIRAnalysis
   MLIROpenMPDialect
 
   MLIR_LIBS
+  MLIRAnalysisBase
   MLIRFuncDialect
   MLIRLLVMDialect
   MLIRMathTransforms
diff --git a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
index 15b4593166d0c0..ed1081396528db 100644
--- a/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
@@ -41,6 +41,7 @@ add_flang_library(HLFIRTransforms
   ${dialect_libs}
 
   MLIR_LIBS
+  MLIRAnalysisBase
   MLIRIR
   ${dialect_libs}
 )
diff --git a/flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt b/flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
index 06564230b75134..02b953fccde9a3 100644
--- a/flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
@@ -26,6 +26,7 @@ add_flang_library(FIROpenACCTransforms
   HLFIRDialect
 
   MLIR_LIBS
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRIR
   MLIRMemRefDialect
diff --git a/flang/lib/Optimizer/OpenMP/CMakeLists.txt b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
index f29ba86a8a28ce..4cc7625bb07f3f 100644
--- a/flang/lib/Optimizer/OpenMP/CMakeLists.txt
+++ b/flang/lib/Optimizer/OpenMP/CMakeLists.txt
@@ -32,6 +32,7 @@ add_flang_library(FlangOpenMPTransforms
   ${dialect_libs}
 
   MLIR_LIBS
+  MLIRAnalysisBase
   MLIRFuncDialect
   MLIROpenMPDialect
   MLIROpenMPTransforms
diff --git a/flang/lib/Optimizer/Transforms/CMakeLists.txt b/flang/lib/Optimizer/Transforms/CMakeLists.txt
index b7526e2cec289f..a84b44a9546216 100644
--- a/flang/lib/Optimizer/Transforms/CMakeLists.txt
+++ b/flang/lib/Optimizer/Transforms/CMakeLists.txt
@@ -86,7 +86,7 @@ add_flang_library(FIRTransforms
 
   MLIR_LIBS
   MLIRAffineUtils
-  MLIRAnalysis
+  MLIRAnalysisDataFlow
   MLIRControlFlowDialect
   MLIRFuncDialect
   MLIRGPUDialect
diff --git a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
index 16df2b607ca931..7076adefafdf40 100644
--- a/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
+++ b/flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
@@ -24,7 +24,7 @@ add_flang_library(FIRTestAnalysis
   ${dialect_libs}
   MLIRFuncDialect
   MLIRLLVMDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
   )
 
 target_include_directories(FIRTestAnalysis
diff --git a/mlir/lib/Analysis/CMakeLists.txt b/mlir/lib/Analysis/CMakeLists.txt
index 2712ab503663ea..48a0192beb19c8 100644
--- a/mlir/lib/Analysis/CMakeLists.txt
+++ b/mlir/lib/Analysis/CMakeLists.txt
@@ -1,40 +1,60 @@
-set(LLVM_OPTIONAL_SOURCES
-  AliasAnalysis.cpp
-  CallGraph.cpp
-  DataLayoutAnalysis.cpp
-  FlatLinearValueConstraints.cpp
-  Liveness.cpp
-  CFGLoopInfo.cpp
-  SliceAnalysis.cpp
-  TopologicalSortUtils.cpp
-
-  AliasAnalysis/LocalAliasAnalysis.cpp
-
-  DataFlow/ConstantPropagationAnalysis.cpp
-  DataFlow/DeadCodeAnalysis.cpp
-  DataFlow/DenseAnalysis.cpp
-  DataFlow/IntegerDivisibilityAnalysis.cpp
-  DataFlow/IntegerRangeAnalysis.cpp
-  DataFlow/LivenessAnalysis.cpp
-  DataFlow/SparseAnalysis.cpp
-  )
+# Analysis libraries are split by subsystem so clients can link only the APIs
+# they use:
+#
+#   MLIRAnalysisBase       General IR analyses: alias analysis, call graphs,
+#                          CFG loop information, data layout, liveness, slices,
+#                          and topological sorting.
+#   MLIRAnalysisDataFlow   The data-flow framework and its analyses, including
+#                          data-flow liveness (distinct from Base's liveness).
+#   MLIRAnalysisPresburger IR-aware constraint APIs: FlatLinearConstraints and
+#                          FlatLinearValueConstraints, adapting Presburger
+#                          mathematics to affine expressions and SSA values.
+#   MLIRAnalysis           Compatibility umbrella containing all three components.
+#
+# The three components are independent of one another. Base and DataFlow have
+# no Presburger dependency. The IR-aware adapter links MLIRIR and MLIRPresburger;
+# the latter, defined in Presburger/, remains a generic mathematical library
+# with no MLIR IR dependency. Public header paths are unchanged.
+#
+# Each implementation is compiled once into its component's object library.
+# The umbrella reuses these objects to preserve the complete legacy static
+# archive. Aggregate libMLIR includes only the components, excluding the umbrella
+# so that each defining object appears exactly once.
 
 add_subdirectory(Presburger)
 
-add_mlir_library(MLIRAnalysis
+# Keep source ownership separate from the compatibility archive below. Object
+# libraries let both archives reuse the same compilations, including in shared
+# library builds.
+add_mlir_library(MLIRAnalysisBase
   AliasAnalysis.cpp
+  AliasAnalysis/LocalAliasAnalysis.cpp
   CallGraph.cpp
-  DataFlowFramework.cpp
+  CFGLoopInfo.cpp
   DataLayoutAnalysis.cpp
-  FlatLinearValueConstraints.cpp
   Liveness.cpp
-  CFGLoopInfo.cpp
   SliceAnalysis.cpp
   SliceWalk.cpp
   TopologicalSortUtils.cpp
 
-  AliasAnalysis/LocalAliasAnalysis.cpp
+  OBJECT
+  PARTIAL_SOURCES_INTENDED
+
+  ADDITIONAL_HEADER_DIRS
+  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
+
+  LINK_LIBS PUBLIC
+  MLIRCallInterfaces
+  MLIRControlFlowInterfaces
+  MLIRDataLayoutInterfaces
+  MLIRFunctionInterfaces
+  MLIRIR
+  MLIRSideEffectInterfaces
+  MLIRViewLikeInterface
+  )
 
+add_mlir_library(MLIRAnalysisDataFlow
+  DataFlowFramework.cpp
   DataFlow/ConstantPropagationAnalysis.cpp
   DataFlow/DeadCodeAnalysis.cpp
   DataFlow/DenseAnalysis.cpp
@@ -44,25 +64,55 @@ add_mlir_library(MLIRAnalysis
   DataFlow/SparseAnalysis.cpp
   DataFlow/StridedMetadataRangeAnalysis.cpp
 
+  OBJECT
+  PARTIAL_SOURCES_INTENDED
+
   ADDITIONAL_HEADER_DIRS
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
 
-  DEPENDS
-  mlir-headers
-
   LINK_LIBS PUBLIC
   MLIRCallInterfaces
   MLIRControlFlowInterfaces
-  MLIRDataLayoutInterfaces
   MLIRDialectUtils
-  MLIRFunctionInterfaces
   MLIRInferIntDivisibilityOpInterface
   MLIRInferIntRangeInterface
   MLIRInferStridedMetadataInterface
-  MLIRInferTypeOpInterface
+  MLIRIR
   MLIRLoopLikeInterface
-  MLIRPresburger
   MLIRSideEffectInterfaces
-  MLIRViewLikeInterface
   )
 
+# This is the IR-aware adapter; MLIRPresburger remains independent of MLIR IR.
+add_mlir_library(MLIRAnalysisPresburger
+  FlatLinearValueConstraints.cpp
+
+  OBJECT
+  PARTIAL_SOURCES_INTENDED
+
+  ADDITIONAL_HEADER_DIRS
+  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
+
+  LINK_LIBS PUBLIC
+  MLIRIR
+  MLIRPresburger
+  )
+
+# Preserve the complete legacy archive for users linking libMLIRAnalysis.a
+# directly. Only the components participate in libMLIR, so each object is
+# included there exactly once. Link the components' dependencies rather than the
+# components themselves, since their definitions are already embedded here.
+add_mlir_library(MLIRAnalysis
+  $<TARGET_OBJECTS:obj.MLIRAnalysisBase>
+  $<TARGET_OBJECTS:obj.MLIRAnalysisDataFlow>
+  $<TARGET_OBJECTS:obj.MLIRAnalysisPresburger>
+
+  EXCLUDE_FROM_LIBMLIR
+  PARTIAL_SOURCES_INTENDED
+
+  LINK_LIBS PUBLIC
+  $<TARGET_PROPERTY:MLIRAnalysisBase,INTERFACE_LINK_LIBRARIES>
+  $<TARGET_PROPERTY:MLIRAnalysisDataFlow,INTERFACE_LINK_LIBRARIES>
+  $<TARGET_PROPERTY:MLIRAnalysisPresburger,INTERFACE_LINK_LIBRARIES>
+  # Retain the legacy umbrella's public interface dependency.
+  MLIRInferTypeOpInterface
+  )
diff --git a/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
index 8d8b42da835bc1..e32f29a44df50c 100644
--- a/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
@@ -14,7 +14,7 @@ add_mlir_conversion_library(MLIRArithToLLVM
   MLIRArithAttrToLLVMConversion
   MLIRArithCommonConversion
   MLIRArithDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRDataLayoutInterfaces
   MLIRLLVMCommonConversion
   MLIRLLVMDialect
diff --git a/mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
index b36c85165d2344..d6ec249f640273 100644
--- a/mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
@@ -12,7 +12,7 @@ add_mlir_conversion_library(MLIRControlFlowToLLVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRDataLayoutInterfaces
   MLIRControlFlowDialect
   MLIRLLVMCommonConversion
diff --git a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
index 68074aa41c30ff..db1f475ba2ffba 100644
--- a/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
+++ b/mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
@@ -8,7 +8,6 @@ add_mlir_conversion_library(MLIRControlFlowToSCF
   MLIRConversionPassIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
   MLIRArithDialect
   MLIRControlFlowDialect
   MLIRSCFDialect
diff --git a/mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
index c71711ba2ebedb..0673608c9143d6 100644
--- a/mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
@@ -21,6 +21,7 @@ add_mlir_conversion_library(MLIRConvertToLLVMPass
   MLIRConversionPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRIR
   MLIRConvertToLLVMInterface
   MLIRLLVMCommonConversion
diff --git a/mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt b/mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt
index 17d8dad335c55d..2f6261e594935b 100644
--- a/mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt
@@ -12,7 +12,7 @@ add_mlir_conversion_library(MLIRFuncToLLVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithToLLVM
   MLIRControlFlowToLLVM
   MLIRDataLayoutInterfaces
diff --git a/mlir/lib/Conversion/MathToXeVM/CMakeLists.txt b/mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
index e101e1c5156500..d621491c8306c7 100644
--- a/mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
@@ -11,7 +11,7 @@ add_mlir_conversion_library(MLIRMathToXeVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithAttrToLLVMConversion
   MLIRArithDialect
   MLIRGPUToGPURuntimeTransforms
diff --git a/mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt b/mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
index 9da4b23d42f413..7cf7412dee380c 100644
--- a/mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/MemRefToLLVM/CMakeLists.txt
@@ -11,7 +11,7 @@ add_mlir_conversion_library(MLIRMemRefToLLVM
   Core
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRDataLayoutInterfaces
   MLIRFuncDialect
   MLIRLLVMCommonConversion
diff --git a/mlir/lib/Conversion/SCFToGPU/CMakeLists.txt b/mlir/lib/Conversion/SCFToGPU/CMakeLists.txt
index b7853634bc44ec..9e699d07426457 100644
--- a/mlir/lib/Conversion/SCFToGPU/CMakeLists.txt
+++ b/mlir/lib/Conversion/SCFToGPU/CMakeLists.txt
@@ -9,6 +9,7 @@ add_mlir_conversion_library(MLIRSCFToGPU
   MLIRConversionPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRAffineToStandard
   MLIRArithDialect
diff --git a/mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt b/mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt
index 1ad175dd7d3ff2..4fb2d2a2cfece0 100644
--- a/mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt
+++ b/mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt
@@ -11,7 +11,7 @@ add_mlir_conversion_library(MLIRSCFToOpenMP
   Core
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRLLVMDialect
   MLIROpenMPDialect
diff --git a/mlir/lib/Conversion/VectorToGPU/CMakeLists.txt b/mlir/lib/Conversion/VectorToGPU/CMakeLists.txt
index b508dc71557d98..bb33503ad9b1b9 100644
--- a/mlir/lib/Conversion/VectorToGPU/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToGPU/CMakeLists.txt
@@ -8,6 +8,7 @@ add_mlir_conversion_library(MLIRVectorToGPU
   Core
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRGPUDialect
   MLIRLLVMDialect
diff --git a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
index ea1a1de75f9bfd..05c96e868cda01 100644
--- a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
+++ b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
@@ -38,7 +38,7 @@ add_mlir_conversion_library(MLIRVectorToLLVMPass
   MLIRArmNeonTransforms
   MLIRArmSVEDialect
   MLIRArmSVETransforms
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRDataLayoutInterfaces
   MLIRX86Dialect
   MLIRX86Transforms
diff --git a/mlir/lib/Dialect/Affine/Analysis/CMakeLists.txt b/mlir/lib/Dialect/Affine/Analysis/CMakeLists.txt
index 3a1996349dbedd..3e29bba85377a3 100644
--- a/mlir/lib/Dialect/Affine/Analysis/CMakeLists.txt
+++ b/mlir/lib/Dialect/Affine/Analysis/CMakeLists.txt
@@ -13,7 +13,8 @@ add_mlir_dialect_library(MLIRAffineAnalysis
 
   LINK_LIBS PUBLIC
   MLIRAffineDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
+  MLIRAnalysisPresburger
   MLIRCallInterfaces
   MLIRControlFlowInterfaces
   MLIRDialectUtils
diff --git a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
index 9d912139810b26..c1963848f2b81e 100644
--- a/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
@@ -30,6 +30,7 @@ add_mlir_dialect_library(MLIRAffineTransforms
   MLIRLoopLikeInterfaceIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRAffineAnalysis
   MLIRAffineUtils
diff --git a/mlir/lib/Dialect/Affine/Utils/CMakeLists.txt b/mlir/lib/Dialect/Affine/Utils/CMakeLists.txt
index ef6e0dbf45d3a9..54f2787452df2d 100644
--- a/mlir/lib/Dialect/Affine/Utils/CMakeLists.txt
+++ b/mlir/lib/Dialect/Affine/Utils/CMakeLists.txt
@@ -10,7 +10,7 @@ add_mlir_dialect_library(MLIRAffineUtils
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRAffineAnalysis
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithUtils
   MLIRFuncDialect
   MLIRMemRefDialect
diff --git a/mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
index 7c889385b4ad64..8e84edc05bb857 100644
--- a/mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
@@ -18,7 +18,7 @@ add_mlir_dialect_library(MLIRArithTransforms
   MLIRArithTransformsIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisDataFlow
   MLIRArithCommonConversion
   MLIRArithDialect
   MLIRBufferizationDialect
diff --git a/mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt b/mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
index a29624468ba2d6..5df10ff32df8a3 100644
--- a/mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/ArmSME/Transforms/CMakeLists.txt
@@ -11,6 +11,7 @@ add_mlir_dialect_library(MLIRArmSMETransforms
   MLIRArmSMETransformsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRPass
   MLIRArmSMEDialect
   MLIRFuncDialect
diff --git a/mlir/lib/Dialect/Async/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Async/Transforms/CMakeLists.txt
index 7b59bc0de30a61..4444a3a4358272 100644
--- a/mlir/lib/Dialect/Async/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Async/Transforms/CMakeLists.txt
@@ -12,6 +12,7 @@ add_mlir_dialect_library(MLIRAsyncTransforms
   MLIRAsyncPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRAsyncDialect
   MLIRFuncDialect
diff --git a/mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt b/mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
index 20dc4d3fd80368..18ff778b576be5 100644
--- a/mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
@@ -22,6 +22,7 @@ add_mlir_dialect_library(MLIRBufferizationDialect
   MLIRBufferizationTypeInterfacesIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRArithDialect
   MLIRDestinationStyleOpInterface
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
index 2e6bc4d9503b95..56c02c19edd16e 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
@@ -27,6 +27,7 @@ add_mlir_dialect_library(MLIRBufferizationTransforms
   MLIRBufferizationEnumsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRBufferizationDialect
   MLIRCallInterfaces
diff --git a/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt b/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
index fff166d39dad9b..ce50c1ff9c3ceb 100644
--- a/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
@@ -12,6 +12,7 @@ add_mlir_dialect_library(MLIRLLVMIRTransforms
   MLIRLLVMPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRIR
   MLIRFuncDialect
   MLIRLLVMDialect
diff --git a/mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
index b15a4704f52a26..076127ca737927 100644
--- a/mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
@@ -14,6 +14,7 @@ add_mlir_dialect_library(MLIRLinalgTransformOps
   MLIRLinalgTransformEnumsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRArithDialect
   MLIRBufferizationDialect
diff --git a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
index 53a8d7b922790e..83bbfb4f193b4c 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
@@ -54,7 +54,7 @@ add_mlir_dialect_library(MLIRLinalgTransforms
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRAffineUtils
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRArithTransforms
   MLIRArithUtils
diff --git a/mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt
index 50221b56ec5047..26139aab2e7b08 100644
--- a/mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt
+++ b/mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt
@@ -5,6 +5,7 @@ add_mlir_dialect_library(MLIRLinalgUtils
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/Linalg
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRAffineAnalysis
   MLIRAffineUtils
diff --git a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
index 4c9e3d3c813f7a..a5ac34486ee5dd 100644
--- a/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
@@ -8,6 +8,7 @@ add_mlir_dialect_library(MLIRMemRefTransformOps
   MLIRMemRefTransformOpsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRArithDialect
   MLIRIR
diff --git a/mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt
index 9a20f170b629bb..f3bd98511948e1 100644
--- a/mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt
++...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/232793


More information about the Mlir-commits mailing list