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