19#ifndef INITIALIZE_MIRROR_IO_SELECT_H_
20#define INITIALIZE_MIRROR_IO_SELECT_H_
22#include "backends/tofino/bf-p4c/arch/arch.h"
23#include "backends/tofino/bf-p4c/common/pragma/all_pragmas.h"
24#include "backends/tofino/bf-p4c/common/pragma/collect_global_pragma.h"
25#include "backends/tofino/bf-p4c/device.h"
27#include "type_checker.h"
39 const IR::Node *preorder(IR::P4Program *p)
override {
42 p->apply(collect_pragma);
44 if (collect_pragma.
exists(PragmaDisableEgressMirrorIOSelectInitialization::name)) {
51 const IR::Node *preorder(IR::BFN::TnaParser *parser)
override;
52 const IR::Node *preorder(IR::ParserState *state)
override;
55 const IR::Node *preorder(IR::BFN::TnaControl *control)
override {
59 const IR::Node *preorder(IR::BFN::TnaDeparser *deparser)
override {
74 []() {
return Device::hasMirrorIOSelect(); },
79 setName(
"InitializeMirrorIOSelect");
Definition initialize_mirror_io_select.h:32
Definition collect_global_pragma.h:28
const IR::Annotation * exists(const char *pragma_name) const
Check if pragma exists.
Definition collect_global_pragma.cpp:121
Definition typeChecker.h:620
Definition typeChecker.h:32
Definition ir/pass_manager.h:172
Definition ir/pass_manager.h:40
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition resolveReferences.h:123
Definition typeChecker.h:483
Initializes eg_intr_md_for_dprsr.mirror_io_select on devices except Tofino1.
Definition initialize_mirror_io_select.h:70
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21