19#ifndef BACKENDS_TOFINO_BF_P4C_PHV_PRAGMA_PA_NO_OVERLAY_H_
20#define BACKENDS_TOFINO_BF_P4C_PHV_PRAGMA_PA_NO_OVERLAY_H_
22#include "backends/tofino/bf-p4c/phv/phv_fields.h"
44 profile_t rv = Inspector::init_apply(root);
46 mutually_inclusive.clear();
50 bool preorder(
const IR::BFN::Pipe *pipe)
override;
51 bool preorder(
const IR::MAU::Instruction *inst)
override;
56 friend std::ostream &operator<<(std::ostream &out,
const PragmaNoOverlay &pa_no);
59 static const char *description;
60 static const char *help;
67 return !no_overlay.count(a) && !no_overlay.count(b) && !mutually_inclusive(a->
id, b->
id);
71std::ostream &operator<<(std::ostream &out,
const PragmaNoOverlay &pa_no);
Definition symbitmatrix.h:27
Definition ordered_set.h:32
Definition phv_fields.h:154
int id
Unique field ID.
Definition phv_fields.h:164
Definition phv_fields.h:1095
Definition pa_no_overlay.h:33
static const char * name
BFN::Pragma interface.
Definition pa_no_overlay.h:58
const ordered_set< const PHV::Field * > & get_no_overlay_fields() const
Definition pa_no_overlay.h:64
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24