17#ifndef BACKENDS_EBPF_MIDEND_H_
18#define BACKENDS_EBPF_MIDEND_H_
20#include "ebpfOptions.h"
21#include "frontends/common/resolveReferences/referenceMap.h"
22#include "frontends/p4/typeMap.h"
29 std::vector<DebugHook> hooks;
33 void addDebugHook(
DebugHook hook) { hooks.push_back(hook); }
35 const IR::ToplevelBlock *
run(
EbpfOptions &options,
const IR::P4Program *program,
36 std::ostream *outStream =
nullptr);
Definition ebpf/midend.h:27
const IR::ToplevelBlock * run(EbpfOptions &options, const IR::P4Program *program, std::ostream *outStream=nullptr)
If p4c is run with option '–listMidendPasses', outStream is used for printing passes names.
Definition ebpf/midend.cpp:71
Definition ebpfOptions.h:26
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition codeGen.cpp:25
std::function< void(const char *manager, unsigned seqNo, const char *pass, const IR::Node *node)> DebugHook
Definition ir/pass_manager.h:38