9 #ifndef MLIR_TRANSFORMS_CONTROLFLOWSINKUTILS_H
10 #define MLIR_TRANSFORMS_CONTROLFLOWSINKUTILS_H
19 class RegionBranchOpInterface;
66 function_ref<
bool(Operation *, Region *)> shouldMoveIntoRegion,
67 function_ref<
void(Operation *, Region *)> moveIntoRegion);
74 SmallVectorImpl<Region *> ®ions);
Include the generated interface declarations.
void getSinglyExecutedRegionsToSink(RegionBranchOpInterface branch, SmallVectorImpl< Region * > ®ions)
Populates regions with regions of the provided region branch op that are executed at most once at tha...
llvm::function_ref< Fn > function_ref
size_t controlFlowSink(RegionRange regions, DominanceInfo &domInfo, function_ref< bool(Operation *, Region *)> shouldMoveIntoRegion, function_ref< void(Operation *, Region *)> moveIntoRegion)
Given a list of regions, perform control flow sinking on them.