P4C
The P4 Compiler
Loading...
Searching...
No Matches
tofino/bf-p4c/midend.h
1
19#ifndef BF_P4C_MIDEND_H_
20#define BF_P4C_MIDEND_H_
21
22#include "backends/tofino/bf-p4c/bf-p4c-options.h"
23#include "frontends/common/options.h"
24#include "frontends/p4/evaluator/evaluator.h"
25#include "ir/ir.h"
26
28
29namespace BFN {
30
31class MidEnd : public PassManager {
32 public:
33 // These will be accurate when the mid-end completes evaluation
34 P4::ReferenceMap refMap;
35 P4::TypeMap typeMap;
36 IR::ToplevelBlock *toplevel = nullptr; // Should this be const?
37 CollectSourceInfoLogging *sourceInfoLogging = nullptr;
38
39 explicit MidEnd(BFN_Options &options);
40};
41
42bool skipRegisterActionOutput(const Visitor::Context *ctxt, const IR::Expression *);
43
44} // namespace BFN
45
46#endif /* BF_P4C_MIDEND_H_ */
Definition tofino/bf-p4c/midend.h:31
Definition bf-p4c-options.h:28
Definition ir/pass_manager.h:40
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition typeMap.h:41
Pass that collects source information.
Definition source_info_logging.h:39
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21
Definition visitor.h:47