[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