9 #ifndef MLIR_TRANSFORMS_LOOPINVARIANTCODEMOTIONUTILS_H 10 #define MLIR_TRANSFORMS_LOOPINVARIANTCODEMOTIONUTILS_H 16 class LoopLikeOpInterface;
65 function_ref<
bool(Value, Region *)> isDefinedOutsideRegion,
66 function_ref<
bool(Operation *, Region *)> shouldMoveOutOfRegion,
67 function_ref<
void(Operation *, Region *)> moveOutOfRegion);
75 #endif // MLIR_TRANSFORMS_LOOPINVARIANTCODEMOTIONUTILS_H Include the generated interface declarations.
llvm::function_ref< Fn > function_ref
size_t moveLoopInvariantCode(RegionRange regions, function_ref< bool(Value, Region *)> isDefinedOutsideRegion, function_ref< bool(Operation *, Region *)> shouldMoveOutOfRegion, function_ref< void(Operation *, Region *)> moveOutOfRegion)
Given a list of regions, perform loop-invariant code motion.