|
template<typename Ret , typename Arg , typename... Rest> |
Arg | mlir::detail::first_argument_type (Ret(*)(Arg, Rest...)) |
| Helper templates to deduce the first argument of a callback parameter. More...
|
|
template<typename Ret , typename F , typename Arg , typename... Rest> |
Arg | mlir::detail::first_argument_type (Ret(F::*)(Arg, Rest...)) |
|
template<typename Iterator > |
void | mlir::detail::walk (Operation *op, function_ref< void(Region *)> callback, WalkOrder order) |
| Walk all of the regions, blocks, or operations nested under (and including) the given operation. More...
|
|
template<typename Iterator > |
void | mlir::detail::walk (Operation *op, function_ref< void(Block *)> callback, WalkOrder order) |
|
template<typename Iterator > |
void | mlir::detail::walk (Operation *op, function_ref< void(Operation *)> callback, WalkOrder order) |
|
template<typename Iterator > |
WalkResult | mlir::detail::walk (Operation *op, function_ref< WalkResult(Region *)> callback, WalkOrder order) |
| Walk all of the regions, blocks, or operations nested under (and including) the given operation. More...
|
|
template<typename Iterator > |
WalkResult | mlir::detail::walk (Operation *op, function_ref< WalkResult(Block *)> callback, WalkOrder order) |
|
template<typename Iterator > |
WalkResult | mlir::detail::walk (Operation *op, function_ref< WalkResult(Operation *)> callback, WalkOrder order) |
|
template<WalkOrder Order = WalkOrder::PostOrder, typename Iterator = ForwardIterator, typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()(std::declval<ArgT>()))> |
std::enable_if_t< llvm::is_one_of< ArgT, Operation *, Region *, Block * >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the regions, blocks, or operations nested under (and including) the given operation. More...
|
|
template<WalkOrder Order = WalkOrder::PostOrder, typename Iterator = ForwardIterator, typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()(std::declval<ArgT>()))> |
std::enable_if_t< !llvm::is_one_of< ArgT, Operation *, Region *, Block * >::value &&std::is_same< RetT, void >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the operations of type 'ArgT' nested under and including the given operation. More...
|
|
template<WalkOrder Order = WalkOrder::PostOrder, typename Iterator = ForwardIterator, typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()(std::declval<ArgT>()))> |
std::enable_if_t< !llvm::is_one_of< ArgT, Operation *, Region *, Block * >::value &&std::is_same< RetT, WalkResult >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the operations of type 'ArgT' nested under and including the given operation. More...
|
|
void | mlir::detail::walk (Operation *op, function_ref< void(Operation *, const WalkStage &stage)> callback) |
| Generic walkers with stage aware callbacks. More...
|
|
WalkResult | mlir::detail::walk (Operation *op, function_ref< WalkResult(Operation *, const WalkStage &stage)> callback) |
| Walk all the operations nested under (and including) the given operation, with the callback being invoked on each operation N+1 times, where N is the number of regions attached to the operation. More...
|
|
template<typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()( std::declval<ArgT>(), std::declval<const WalkStage &>()))> |
std::enable_if_t< std::is_same< ArgT, Operation * >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the operations nested under and including the given operation. More...
|
|
template<typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()( std::declval<ArgT>(), std::declval<const WalkStage &>()))> |
std::enable_if_t<!std::is_same< ArgT, Operation * >::value &&std::is_same< RetT, void >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the operations of type 'ArgT' nested under and including the given operation. More...
|
|
template<typename FuncTy , typename ArgT = detail::first_argument<FuncTy>, typename RetT = decltype(std::declval<FuncTy>()( std::declval<ArgT>(), std::declval<const WalkStage &>()))> |
std::enable_if_t<!std::is_same< ArgT, Operation * >::value &&std::is_same< RetT, WalkResult >::value, RetT > | mlir::detail::walk (Operation *op, FuncTy &&callback) |
| Walk all of the operations of type 'ArgT' nested under and including the given operation. More...
|
|