Files
clang-p2996/mlir/lib/Transforms/Utils/CMakeLists.txt
Mogball c8457eb532 [mlir][transforms] Add a topological sort utility and pass
This patch adds a topological sort utility and pass. A topological sort reorders
the operations in a block without SSA dominance such that, as much as possible,
users of values come after their producers.

The utility function sorts topologically the operation range in a given block
with an optional user-provided callback that can be used to virtually break cycles.
The toposort pass itself recursively sorts graph regions under the target op.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D125063
2022-05-16 20:47:30 +00:00

20 lines
404 B
CMake

add_mlir_library(MLIRTransformUtils
ControlFlowSinkUtils.cpp
DialectConversion.cpp
FoldUtils.cpp
GreedyPatternRewriteDriver.cpp
InliningUtils.cpp
LoopInvariantCodeMotionUtils.cpp
RegionUtils.cpp
SideEffectUtils.cpp
TopologicalSortUtils.cpp
ADDITIONAL_HEADER_DIRS
${MLIR_MAIN_INCLUDE_DIR}/mlir/Transforms
LINK_LIBS PUBLIC
MLIRAnalysis
MLIRLoopLikeInterface
MLIRRewrite
)