#pragma once // // This file is distributed under the MIT License. See LICENSE.md for details. // #include "revng/PipeboxCommon/LLVMContainer.h" namespace revng::pypeline::piperuns { class InvokeIsolatedFunctions { private: const model::Binary &Binary; const LLVMRootContainer &Root; const LLVMFunctionContainer &Functions; LLVMRootContainer &Output; public: static constexpr llvm::StringRef Name = "invoke-isolated-functions"; using Arguments = TypeList, PipeRunArgument, PipeRunArgument>; InvokeIsolatedFunctions(const class Model &Model, llvm::StringRef Config, llvm::StringRef DynamicConfig, const LLVMRootContainer &Root, const LLVMFunctionContainer &Functions, LLVMRootContainer &Output); void run(); }; } // namespace revng::pypeline::piperuns