This revision adds support for unstructured control flow to the bufferization infrastructure. In particular: regions with multiple blocks, `cf.br`, `cf.cond_br`. Two helper templates are added to `BufferizableOpInterface.h`, which can be implemented by ops that supported unstructured control flow in their regions (e.g., `func.func`) and ops that branch to another block (e.g., `cf.br`). A block signature is always bufferized together with the op that owns the block. Differential Revision: https://reviews.llvm.org/D158094
14 lines
309 B
CMake
14 lines
309 B
CMake
add_mlir_dialect_library(MLIRControlFlowTransforms
|
|
BufferizableOpInterfaceImpl.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
{$MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/ControlFlow/Transforms
|
|
|
|
LINK_LIBS PUBLIC
|
|
MLIRBufferizationDialect
|
|
MLIRBufferizationTransforms
|
|
MLIRControlFlowDialect
|
|
MLIRMemRefDialect
|
|
MLIRIR
|
|
)
|