llvm-project/mlir/lib/Analysis/CMakeLists.txt
River Riddle b9c876bd7e [mlir] Add initial support for an alias analysis framework in MLIR
This revision adds a new `AliasAnalysis` class that represents the main alias analysis interface in MLIR. The purpose of this class is not to hold the aliasing logic itself, but to provide an interface into various different alias analysis implementations. As it evolves this should allow for users to plug in specialized alias analysis implementations for their own needs, and have them immediately usable by other analyses and transformations.

This revision also adds an initial simple generic alias, LocalAliasAnalysis, that provides support for performing stateless local alias queries between values. This class is similar in scope to LLVM's BasicAA.

Differential Revision: https://reviews.llvm.org/D92343
2021-02-09 14:21:27 -08:00

69 lines
1.2 KiB
CMake

set(LLVM_OPTIONAL_SOURCES
AliasAnalysis.cpp
AffineAnalysis.cpp
AffineStructures.cpp
BufferAliasAnalysis.cpp
CallGraph.cpp
LinearTransform.cpp
Liveness.cpp
LoopAnalysis.cpp
NestedMatcher.cpp
NumberOfExecutions.cpp
PresburgerSet.cpp
SliceAnalysis.cpp
Utils.cpp
AliasAnalysis/LocalAliasAnalysis.cpp
)
add_mlir_library(MLIRAnalysis
AliasAnalysis.cpp
BufferAliasAnalysis.cpp
CallGraph.cpp
Liveness.cpp
NumberOfExecutions.cpp
SliceAnalysis.cpp
AliasAnalysis/LocalAliasAnalysis.cpp
ADDITIONAL_HEADER_DIRS
${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
MLIRAffine
MLIRCallInterfaces
MLIRControlFlowInterfaces
MLIRInferTypeOpInterface
MLIRLinalg
MLIRSCF
)
add_mlir_library(MLIRLoopAnalysis
AffineAnalysis.cpp
AffineStructures.cpp
LinearTransform.cpp
LoopAnalysis.cpp
NestedMatcher.cpp
PresburgerSet.cpp
Utils.cpp
ADDITIONAL_HEADER_DIRS
${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
MLIRAffine
MLIRCallInterfaces
MLIRControlFlowInterfaces
MLIRInferTypeOpInterface
MLIRPresburger
MLIRSCF
)
add_subdirectory(Presburger)