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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Oct 19 16:00:26 PDT 2026


Author: Mehdi Amini
Date: 2026-10-20T01:00:14+02:00
New Revision: d7c54eab76c3cae04571fa1d6edb4b48b70f738a

URL: https://github.com/llvm/llvm-project/commit/d7c54eab76c3cae04571fa1d6edb4b48b70f738a
DIFF: https://github.com/llvm/llvm-project/commit/d7c54eab76c3cae04571fa1d6edb4b48b70f738a.diff

LOG: [mlir] Split analysis implementations into subsystem libraries (#232793)

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt b/clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
index 778119c4f7731..888583416dde7 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 614f360835242..35861f67abdef 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 a2840ce75e1b7..39292698db348 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 50a01240e44fc..f16ed3a15e879 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 15b4593166d0c..ed1081396528d 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 06564230b7513..02b953fccde9a 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 f29ba86a8a28c..4cc7625bb07f3 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 b7526e2cec289..a84b44a954621 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 16df2b607ca93..7076adefafdf4 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 2712ab503663e..72171a52335cd 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           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/, is a generic mathematical library
+# with no MLIR IR dependency.
+#
+# Each implementation is compiled once into its component's object library.
+# The umbrella reuses these objects to provide the complete 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 umbrella 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 is 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
+  )
+
+# Provide the complete 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>
+  # The umbrella also exposes the type inference interface.
+  MLIRInferTypeOpInterface
+  )

diff  --git a/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt b/mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
index 8d8b42da835bc..e32f29a44df50 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 b36c85165d234..d6ec249f64027 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 68074aa41c30f..db1f475ba2ffb 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 c71711ba2ebed..0673608c9143d 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 17d8dad335c55..2f6261e594935 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 e101e1c515650..d621491c8306c 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 9da4b23d42f41..7cf7412dee380 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 b7853634bc44e..9e699d0742645 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 1ad175dd7d3ff..4fb2d2a2cfece 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 b508dc71557d9..bb33503ad9b1b 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 ea1a1de75f9bf..05c96e868cda0 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 3a1996349dbed..3e29bba85377a 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 9d912139810b2..c1963848f2b81 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 ef6e0dbf45d3a..54f2787452df2 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 7c889385b4ad6..8e84edc05bb85 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 a29624468ba2d..5df10ff32df8a 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 7b59bc0de30a6..4444a3a435827 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 20dc4d3fd8036..18ff778b576be 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 2e6bc4d9503b9..56c02c19edd16 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 fff166d39dad9..ce50c1ff9c3ce 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 b15a4704f52a2..076127ca73792 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 53a8d7b922790..83bbfb4f193b4 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 50221b56ec504..26139aab2e7b0 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 4c9e3d3c813f7..a5ac34486ee5d 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 9a20f170b629b..f3bd98511948e 100644
--- a/mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/NVGPU/TransformOps/CMakeLists.txt
@@ -8,6 +8,7 @@ add_mlir_dialect_library(MLIRNVGPUTransformOps
   MLIRNVGPUTransformOpsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRArithDialect
   MLIRIR

diff  --git a/mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt b/mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
index 3fd2672e82c50..d7fc3fb7b2eeb 100644
--- a/mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
@@ -35,7 +35,7 @@ add_mlir_dialect_library(MLIROpenACCTransforms
   MLIROpenACCTypeInterfacesIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRArithUtils
   MLIRComplexDialect

diff  --git a/mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt b/mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
index 04fba34ae625c..8f88519c2a54f 100644
--- a/mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
@@ -16,6 +16,7 @@ add_mlir_dialect_library(MLIROpenMPTransforms
   MLIROpenMPTypeInterfacesIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRFunctionInterfaces
   MLIRIR
   MLIRLLVMDialect

diff  --git a/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt b/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
index fb9aa4018d263..a299f9f617455 100644
--- a/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
@@ -25,6 +25,7 @@ add_mlir_dialect_library(MLIRSCFTransforms
   MLIRSCFPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRAffineDialect
   MLIRAffineAnalysis
   MLIRArithDialect

diff  --git a/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt b/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt
index 5ac6ed50659e7..53ce326fd0dc7 100644
--- a/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt
+++ b/mlir/lib/Dialect/SCF/Utils/CMakeLists.txt
@@ -8,7 +8,7 @@ add_mlir_dialect_library(MLIRSCFUtils
   LINK_LIBS PUBLIC
   MLIRAffineDialect
   MLIRAffineAnalysis
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRDialectUtils
   MLIRFuncDialect

diff  --git a/mlir/lib/Dialect/Transform/IR/CMakeLists.txt b/mlir/lib/Dialect/Transform/IR/CMakeLists.txt
index 21ed91029817c..dafeeffef7759 100644
--- a/mlir/lib/Dialect/Transform/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/Transform/IR/CMakeLists.txt
@@ -13,6 +13,7 @@ add_mlir_dialect_library(MLIRTransformDialect
   MLIRTransformOpsIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRCastInterfaces
   MLIRFunctionInterfaces
   MLIRIR

diff  --git a/mlir/lib/Dialect/XeGPU/TransformOps/CMakeLists.txt b/mlir/lib/Dialect/XeGPU/TransformOps/CMakeLists.txt
index c4e4242478c0c..475fae0016fc9 100644
--- a/mlir/lib/Dialect/XeGPU/TransformOps/CMakeLists.txt
+++ b/mlir/lib/Dialect/XeGPU/TransformOps/CMakeLists.txt
@@ -8,7 +8,7 @@ add_mlir_dialect_library(MLIRXeGPUTransformOps
   MLIRXeGPUTransformOpsIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRXeGPUDialect
   MLIRXeGPUTransforms
   MLIRIR

diff  --git a/mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt b/mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
index 2ed81ae05ab34..cf976fb6c76ae 100644
--- a/mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
+++ b/mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
@@ -17,6 +17,7 @@ add_mlir_dialect_library(MLIRXeGPUTransforms
   MLIRXeGPUPassIncGen
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisDataFlow
   MLIRAffineUtils
   MLIRIR
   MLIRIndexDialect

diff  --git a/mlir/lib/Interfaces/CMakeLists.txt b/mlir/lib/Interfaces/CMakeLists.txt
index cda3e29cee8e6..4ccce0d53bb81 100644
--- a/mlir/lib/Interfaces/CMakeLists.txt
+++ b/mlir/lib/Interfaces/CMakeLists.txt
@@ -153,7 +153,7 @@ add_mlir_library(MLIRValueBoundsOpInterface
   MLIRViewLikeInterface
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisPresburger
   MLIRDestinationStyleOpInterface
   MLIRIR
   )

diff  --git a/mlir/lib/Pass/CMakeLists.txt b/mlir/lib/Pass/CMakeLists.txt
index 5ca9b4163bb8a..11eec3689c455 100644
--- a/mlir/lib/Pass/CMakeLists.txt
+++ b/mlir/lib/Pass/CMakeLists.txt
@@ -14,6 +14,5 @@ add_mlir_library(MLIRPass
   mlir-generic-headers
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
   MLIRIR
   )

diff  --git a/mlir/lib/Query/Matcher/CMakeLists.txt b/mlir/lib/Query/Matcher/CMakeLists.txt
index ba202762fdfbb..a7285454642a9 100644
--- a/mlir/lib/Query/Matcher/CMakeLists.txt
+++ b/mlir/lib/Query/Matcher/CMakeLists.txt
@@ -11,6 +11,7 @@ add_mlir_library(MLIRQueryMatcher
   ${MLIR_MAIN_INCLUDE_DIR}/mlir/Query/Matcher
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRIR
   MLIRParser
   )

diff  --git a/mlir/lib/Rewrite/CMakeLists.txt b/mlir/lib/Rewrite/CMakeLists.txt
index 15b3739e4c633..8aa0c9d716e86 100644
--- a/mlir/lib/Rewrite/CMakeLists.txt
+++ b/mlir/lib/Rewrite/CMakeLists.txt
@@ -1,5 +1,10 @@
 set(LLVM_OPTIONAL_SOURCES ByteCode.cpp)
 
+set(pdl_header_deps)
+if(MLIR_ENABLE_PDL_IN_PATTERNMATCH)
+  list(APPEND pdl_header_deps MLIRPDLOpsIncGen MLIRPDLInterpOpsIncGen)
+endif()
+
 add_mlir_library(MLIRRewrite
   FrozenRewritePatternSet.cpp
   PatternApplicator.cpp
@@ -10,6 +15,7 @@ add_mlir_library(MLIRRewrite
   DEPENDS
   mlir-generic-headers
   MLIRConversionPassIncGen
+  ${pdl_header_deps}
 
   LINK_LIBS PUBLIC
   MLIRIR
@@ -27,6 +33,7 @@ if(MLIR_ENABLE_PDL_IN_PATTERNMATCH)
     mlir-generic-headers
 
     LINK_LIBS PUBLIC
+    MLIRAnalysisBase
     MLIRIR
     MLIRPDLDialect
     MLIRPDLInterpDialect

diff  --git a/mlir/lib/Target/LLVMIR/CMakeLists.txt b/mlir/lib/Target/LLVMIR/CMakeLists.txt
index ed775bc47d7bf..b7ebd9dc19b9f 100644
--- a/mlir/lib/Target/LLVMIR/CMakeLists.txt
+++ b/mlir/lib/Target/LLVMIR/CMakeLists.txt
@@ -39,6 +39,7 @@ add_mlir_translation_library(MLIRTargetLLVMIRExport
   TargetParser
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRDLTIDialect
   MLIRLLVMDialect
   MLIRLLVMIRTransforms

diff  --git a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt
index eb748d8b43630..e3f9c63dab105 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt
+++ b/mlir/lib/Target/LLVMIR/Dialect/OpenMP/CMakeLists.txt
@@ -5,6 +5,7 @@ add_mlir_translation_library(MLIROpenMPToLLVMIRTranslation
   Core
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRIR
   MLIRLLVMDialect
   MLIROpenMPDialect

diff  --git a/mlir/lib/Transforms/CMakeLists.txt b/mlir/lib/Transforms/CMakeLists.txt
index e202e9756bf39..951e36fc995d2 100644
--- a/mlir/lib/Transforms/CMakeLists.txt
+++ b/mlir/lib/Transforms/CMakeLists.txt
@@ -30,7 +30,8 @@ add_mlir_library(MLIRTransforms
   MLIRTransformsPassIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
+  MLIRAnalysisDataFlow
   MLIRFunctionInterfaces
   MLIRLoopLikeInterface
   MLIRMemOpInterfaces

diff  --git a/mlir/lib/Transforms/Utils/CMakeLists.txt b/mlir/lib/Transforms/Utils/CMakeLists.txt
index f38826690e141..c9f2fd75d25cf 100644
--- a/mlir/lib/Transforms/Utils/CMakeLists.txt
+++ b/mlir/lib/Transforms/Utils/CMakeLists.txt
@@ -19,7 +19,7 @@ add_mlir_library(MLIRTransformUtils
   MLIRTransformsDialectInterfaceIncGen
 
   LINK_LIBS PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRCallInterfaces
   MLIRControlFlowInterfaces
   MLIRFunctionInterfaces

diff  --git a/mlir/test/lib/Analysis/CMakeLists.txt b/mlir/test/lib/Analysis/CMakeLists.txt
index c8927ab89d280..706c18eb2da5e 100644
--- a/mlir/test/lib/Analysis/CMakeLists.txt
+++ b/mlir/test/lib/Analysis/CMakeLists.txt
@@ -10,7 +10,7 @@ add_mlir_library(MLIRTestAliasAnalysis
   PARTIAL_SOURCES_INTENDED
   )
 mlir_target_link_libraries(MLIRTestAliasAnalysis PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRFunctionInterfaces
   MLIRIR
   MLIRPass
@@ -46,7 +46,8 @@ add_mlir_library(MLIRTestAnalysis
   )
 mlir_target_link_libraries(MLIRTestAnalysis PUBLIC
   MLIRAffineDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
+  MLIRAnalysisDataFlow
   MLIRArithDialect
   MLIRFunctionInterfaces
   MLIRMemRefDialect

diff  --git a/mlir/test/lib/Dialect/Affine/CMakeLists.txt b/mlir/test/lib/Dialect/Affine/CMakeLists.txt
index 885bc9b4c3afc..512bf5ba113f3 100644
--- a/mlir/test/lib/Dialect/Affine/CMakeLists.txt
+++ b/mlir/test/lib/Dialect/Affine/CMakeLists.txt
@@ -21,6 +21,7 @@ add_mlir_library(MLIRAffineTransformsTestPasses
   Core
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRTestDialect
   )
 mlir_target_link_libraries(MLIRAffineTransformsTestPasses PUBLIC

diff  --git a/mlir/test/lib/Dialect/DLTI/CMakeLists.txt b/mlir/test/lib/Dialect/DLTI/CMakeLists.txt
index 98cf47c78866f..f889242b3fa96 100644
--- a/mlir/test/lib/Dialect/DLTI/CMakeLists.txt
+++ b/mlir/test/lib/Dialect/DLTI/CMakeLists.txt
@@ -5,6 +5,7 @@ add_mlir_library(MLIRDLTITestPasses
   EXCLUDE_FROM_LIBMLIR
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRTestDialect
   )
 mlir_target_link_libraries(MLIRDLTITestPasses PUBLIC

diff  --git a/mlir/test/lib/Dialect/NVGPU/CMakeLists.txt b/mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
index 025f1a0dbc488..d428c037f5ee6 100644
--- a/mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
+++ b/mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
@@ -7,7 +7,7 @@ add_mlir_library(MLIRNVGPUTestPasses
 mlir_target_link_libraries(MLIRNVGPUTestPasses PUBLIC
   MLIRIR
   MLIRAffineDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRFuncDialect
   MLIRGPUDialect
   MLIRLLVMDialect

diff  --git a/mlir/test/lib/Dialect/Vector/CMakeLists.txt b/mlir/test/lib/Dialect/Vector/CMakeLists.txt
index 385ef2f00ea5d..b83c8af50e2a0 100644
--- a/mlir/test/lib/Dialect/Vector/CMakeLists.txt
+++ b/mlir/test/lib/Dialect/Vector/CMakeLists.txt
@@ -6,7 +6,7 @@ add_mlir_library(MLIRVectorTestPasses
   )
 mlir_target_link_libraries(MLIRVectorTestPasses PUBLIC
   MLIRAffineDialect
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRArithDialect
   MLIRFuncDialect
   MLIRGPUDialect

diff  --git a/mlir/test/lib/IR/CMakeLists.txt b/mlir/test/lib/IR/CMakeLists.txt
index 8310edec228c1..af424ce705b6a 100644
--- a/mlir/test/lib/IR/CMakeLists.txt
+++ b/mlir/test/lib/IR/CMakeLists.txt
@@ -30,6 +30,7 @@ add_mlir_library(MLIRTestIR
   EXCLUDE_FROM_LIBMLIR
 
   LINK_LIBS PUBLIC
+  MLIRAnalysisBase
   MLIRTestDialect
   )
 

diff  --git a/mlir/test/lib/Transforms/CMakeLists.txt b/mlir/test/lib/Transforms/CMakeLists.txt
index ddc0a779e8f69..11aba790aa138 100644
--- a/mlir/test/lib/Transforms/CMakeLists.txt
+++ b/mlir/test/lib/Transforms/CMakeLists.txt
@@ -47,7 +47,7 @@ add_mlir_library(MLIRTestTransforms
   MLIRTestDialect
   )
 mlir_target_link_libraries(MLIRTestTransforms PUBLIC
-  MLIRAnalysis
+  MLIRAnalysisBase
   MLIRFuncDialect
   MLIRInferIntRangeInterface
   MLIRTransforms


        


More information about the Mlir-commits mailing list