#pragma once #include namespace torch::jit { // Try to replace an op that takes a list input with another op that takes a // variadic number of arguments. TORCH_API bool UseVariadicOp( const std::shared_ptr& graph, NodeKind op, NodeKind variadic_op); TORCH_API bool RemoveListMutationAndUseVariadicOp( const std::shared_ptr& graph, NodeKind op, NodeKind variadic_op); // Convenient functions for replacing aten::stack/aten::cat with their // variadic versions. TORCH_API bool UseVariadicCat(const std::shared_ptr& graph); TORCH_API bool RemoveListMutationAndUseVariadicCat( const std::shared_ptr& graph); TORCH_API bool UseVariadicStack(const std::shared_ptr& graph); TORCH_API bool RemoveListMutationAndUseVariadicStack( const std::shared_ptr& graph); } // namespace torch::jit