27class MidEnd :
public PassManager {
28 std::vector<DebugHook> hooks;
33 IR::ToplevelBlock *toplevel =
nullptr;
35 void addDebugHook(
DebugHook hook) { hooks.push_back(hook); }
36 explicit MidEnd(
P4TestOptions &options, std::ostream *outStream =
nullptr);
37 IR::ToplevelBlock *process(
const IR::P4Program *&program) {
38 addDebugHooks(hooks,
true);
39 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