mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
31 lines
972 B
C++
31 lines
972 B
C++
#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 {
|
|
public:
|
|
static constexpr llvm::StringRef Name = "InvokeIsolatedFunctions";
|
|
using Arguments = TypeList<
|
|
PipeArgument<"RootModule", "Root module containing the root function">,
|
|
PipeArgument<"FunctionModules",
|
|
"LLVM Modules containing isolated functions">,
|
|
PipeArgument<"Output",
|
|
"Output LLVM Module with root, functions and dispatcher",
|
|
Access::Write>>;
|
|
|
|
static void run(const class Model &Model,
|
|
llvm::StringRef Config,
|
|
llvm::StringRef DynamicConfig,
|
|
const LLVMRootContainer &Root,
|
|
const LLVMFunctionContainer &Functions,
|
|
LLVMRootContainer &Output);
|
|
};
|
|
|
|
} // namespace revng::pypeline::piperuns
|