18class MidEnd :
public PassManager {
19 std::vector<DebugHook> hooks;
24 IR::ToplevelBlock *toplevel =
nullptr;
26 void addDebugHook(
DebugHook hook) { hooks.push_back(hook); }
27 explicit MidEnd(
P4TestOptions &options, std::ostream *outStream =
nullptr);
28 IR::ToplevelBlock *process(
const IR::P4Program *&program) {
29 addDebugHooks(hooks,
true);
30 program = program->apply(*
this);
std::function< void(const char *manager, unsigned seqNo, const char *pass, const IR::Node *node)> DebugHook
Definition ir/pass_manager.h:38