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

Mehdi Amini llvmlistbot at llvm.org
Fri Oct 16 13:50:53 PDT 2026


https://github.com/joker-eph updated https://github.com/llvm/llvm-project/pull/232793

>From 9b6d8900ab4650921d1d0719e155593b5f33647f Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Fri, 16 Oct 2026 07:33:06 -0700
Subject: [PATCH] [mlir] Split analysis implementations into subsystem
 libraries

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.

Remove stale analysis links from Pass and ControlFlowToSCF, and make
Rewrite's conditional PDL generated-header prerequisites explicit.
Document the component boundaries and compatibility behavior.

Assisted-by: Codex
---
 clang/lib/CIR/Dialect/Analysis/CMakeLists.txt |  2 +-
 .../lib/CIR/Dialect/Transforms/CMakeLists.txt |  2 +-
 clang/test/CIR/lib/Analysis/CMakeLists.txt    |  2 +-
 flang/lib/Optimizer/Analysis/CMakeLists.txt   |  1 +
 .../Optimizer/HLFIR/Transforms/CMakeLists.txt |  1 +
 .../OpenACC/Transforms/CMakeLists.txt         |  1 +
 flang/lib/Optimizer/OpenMP/CMakeLists.txt     |  1 +
 flang/lib/Optimizer/Transforms/CMakeLists.txt |  2 +-
 .../lib/Analysis/AliasAnalysis/CMakeLists.txt |  2 +-
 mlir/lib/Analysis/CMakeLists.txt              | 89 ++++++++++++-------
 .../lib/Conversion/ArithToLLVM/CMakeLists.txt |  2 +-
 .../ControlFlowToLLVM/CMakeLists.txt          |  2 +-
 .../ControlFlowToSCF/CMakeLists.txt           |  1 -
 .../Conversion/ConvertToLLVM/CMakeLists.txt   |  1 +
 mlir/lib/Conversion/FuncToLLVM/CMakeLists.txt |  2 +-
 mlir/lib/Conversion/MathToXeVM/CMakeLists.txt |  2 +-
 .../Conversion/MemRefToLLVM/CMakeLists.txt    |  2 +-
 mlir/lib/Conversion/SCFToGPU/CMakeLists.txt   |  1 +
 .../lib/Conversion/SCFToOpenMP/CMakeLists.txt |  2 +-
 .../lib/Conversion/VectorToGPU/CMakeLists.txt |  1 +
 .../Conversion/VectorToLLVM/CMakeLists.txt    |  2 +-
 .../Dialect/Affine/Analysis/CMakeLists.txt    |  3 +-
 .../Dialect/Affine/Transforms/CMakeLists.txt  |  1 +
 mlir/lib/Dialect/Affine/Utils/CMakeLists.txt  |  2 +-
 .../Dialect/Arith/Transforms/CMakeLists.txt   |  2 +-
 .../Dialect/ArmSME/Transforms/CMakeLists.txt  |  1 +
 .../Dialect/Async/Transforms/CMakeLists.txt   |  1 +
 .../Dialect/Bufferization/IR/CMakeLists.txt   |  1 +
 .../Bufferization/Transforms/CMakeLists.txt   |  1 +
 .../Dialect/LLVMIR/Transforms/CMakeLists.txt  |  1 +
 .../Linalg/TransformOps/CMakeLists.txt        |  1 +
 .../Dialect/Linalg/Transforms/CMakeLists.txt  |  2 +-
 mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt  |  1 +
 .../MemRef/TransformOps/CMakeLists.txt        |  1 +
 .../Dialect/NVGPU/TransformOps/CMakeLists.txt |  1 +
 .../Dialect/OpenACC/Transforms/CMakeLists.txt |  2 +-
 .../Dialect/OpenMP/Transforms/CMakeLists.txt  |  1 +
 .../lib/Dialect/SCF/Transforms/CMakeLists.txt |  1 +
 mlir/lib/Dialect/SCF/Utils/CMakeLists.txt     |  2 +-
 mlir/lib/Dialect/Transform/IR/CMakeLists.txt  |  1 +
 .../Dialect/XeGPU/TransformOps/CMakeLists.txt |  2 +-
 .../Dialect/XeGPU/Transforms/CMakeLists.txt   |  1 +
 mlir/lib/Interfaces/CMakeLists.txt            |  2 +-
 mlir/lib/Pass/CMakeLists.txt                  |  1 -
 mlir/lib/Query/Matcher/CMakeLists.txt         |  1 +
 mlir/lib/Rewrite/CMakeLists.txt               |  7 ++
 mlir/lib/Target/LLVMIR/CMakeLists.txt         |  1 +
 .../LLVMIR/Dialect/OpenMP/CMakeLists.txt      |  1 +
 mlir/lib/Transforms/CMakeLists.txt            |  3 +-
 mlir/lib/Transforms/Utils/CMakeLists.txt      |  2 +-
 mlir/test/lib/Analysis/CMakeLists.txt         |  5 +-
 mlir/test/lib/Dialect/Affine/CMakeLists.txt   |  1 +
 mlir/test/lib/Dialect/DLTI/CMakeLists.txt     |  1 +
 mlir/test/lib/Dialect/NVGPU/CMakeLists.txt    |  2 +-
 mlir/test/lib/Dialect/Vector/CMakeLists.txt   |  2 +-
 mlir/test/lib/IR/CMakeLists.txt               |  1 +
 mlir/test/lib/Transforms/CMakeLists.txt       |  2 +-
 57 files changed, 119 insertions(+), 63 deletions(-)

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..bb1f84f2b9af1b 100644
--- a/mlir/lib/Analysis/CMakeLists.txt
+++ b/mlir/lib/Analysis/CMakeLists.txt
@@ -1,40 +1,34 @@
-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
-  )
-
 add_subdirectory(Presburger)
 
-add_mlir_library(MLIRAnalysis
+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 +38,52 @@ 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
   )
 
+add_mlir_library(MLIRAnalysisPresburger
+  FlatLinearValueConstraints.cpp
+
+  OBJECT
+  PARTIAL_SOURCES_INTENDED
+
+  ADDITIONAL_HEADER_DIRS
+  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
+
+  LINK_LIBS PUBLIC
+  MLIRIR
+  MLIRPresburger
+  )
+
+# Reuse component objects without recompiling them. Exclude this umbrella from
+# libMLIR to avoid duplicate definitions, and link only the components'
+# dependencies since their definitions are 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>
+  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
+++ 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 3fd2672e82c502..d7fc3fb7b2eeb9 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 04fba34ae625cd..8f88519c2a54fc 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 fb9aa4018d2635..a299f9f6174553 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 5ac6ed50659e77..53ce326fd0dc7a 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 21ed91029817c2..dafeeffef77591 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 c4e4242478c0ce..475fae0016fc9e 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 2ed81ae05ab34f..cf976fb6c76aea 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 cda3e29cee8e6e..4ccce0d53bb816 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 5ca9b4163bb8a8..11eec3689c4558 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 ba202762fdfbba..a7285454642a9f 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 15b3739e4c6337..8aa0c9d716e863 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 ed775bc47d7bf7..b7ebd9dc19b9f3 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 eb748d8b43630b..e3f9c63dab105f 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 e202e9756bf391..951e36fc995d28 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 f38826690e1417..c9f2fd75d25cfd 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 c8927ab89d280f..706c18eb2da5eb 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 885bc9b4c3afc9..512bf5ba113f3d 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 98cf47c78866fc..f889242b3fa96a 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 025f1a0dbc488a..d428c037f5ee69 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 385ef2f00ea5d7..b83c8af50e2a0b 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 8310edec228c15..af424ce705b6a1 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 ddc0a779e8f695..11aba790aa138a 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