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 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
