llvm-project/mlir/lib/Transforms/CMakeLists.txt
Martin Erhart 34a35a8b24 [mlir] Move FunctionInterfaces to Interfaces directory and inherit from CallableOpInterface
Functions are always callable operations and thus every operation
implementing the `FunctionOpInterface` also implements the
`CallableOpInterface`. The only exception was the FuncOp in the toy
example. To make implementation of the `FunctionOpInterface` easier,
this commit lets `FunctionOpInterface` inherit from
`CallableOpInterface` and merges some of their methods. More precisely,
the `CallableOpInterface` has methods to get the argument and result
attributes and a method to get the result types of the callable region.
These methods are always implemented the same way as their analogues in
`FunctionOpInterface` and thus this commit moves all the argument and
result attribute handling methods to the callable interface as well as
the methods to get the argument and result types. The
`FuntionOpInterface` then does not have to declare them as well, but
just inherits them from the `CallableOpInterface`.
Adding the inheritance relation also required to move the
`FunctionOpInterface` from the IR directory to the Interfaces directory
since IR should not depend on Interfaces.

Reviewed By: jpienaar, springerm

Differential Revision: https://reviews.llvm.org/D157988
2023-08-31 11:28:23 +00:00

41 lines
748 B
CMake

add_subdirectory(Utils)
add_mlir_library(MLIRTransforms
Canonicalizer.cpp
ControlFlowSink.cpp
CSE.cpp
GenerateRuntimeVerification.cpp
Inliner.cpp
LocationSnapshot.cpp
LoopInvariantCodeMotion.cpp
Mem2Reg.cpp
OpStats.cpp
PrintIR.cpp
RemoveDeadValues.cpp
SCCP.cpp
SROA.cpp
StripDebugInfo.cpp
SymbolDCE.cpp
SymbolPrivatize.cpp
TopologicalSort.cpp
ViewOpGraph.cpp
ADDITIONAL_HEADER_DIRS
${MLIR_MAIN_INCLUDE_DIR}/mlir/Transforms
DEPENDS
MLIRTransformsPassIncGen
LINK_LIBS PUBLIC
MLIRAnalysis
MLIRCopyOpInterface
MLIRFunctionInterfaces
MLIRLoopLikeInterface
MLIRMemorySlotInterfaces
MLIRPass
MLIRRuntimeVerifiableOpInterface
MLIRSideEffectInterfaces
MLIRSupport
MLIRTransformUtils
)