|
| BFRuntimeArchHandlerCommon (ReferenceMap *refMap, TypeMap *typeMap, const IR::ToplevelBlock *evaluatedProgram) |
|
void | addActionProfile (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const ActionProfile &actionProfile, cstring pipeName=cstring::empty) |
|
virtual void | addActionSelector (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const ActionSelector &actionSelector, cstring blockPrefix=cstring::empty) |
|
void | addCounter (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Helpers::Counterlike< ArchCounterExtern > &counterInstance, const cstring blockPrefix=cstring::empty) |
|
void | addDigest (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Digest &digestInstance, cstring pipeName=cstring::empty) |
|
void | addDynHash (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const DynHash &dynHashInstance, cstring pipeName=cstring::empty) |
|
void | addExternEntries (const p4::v1::WriteRequest *, const P4RuntimeSymbolTableIface &, const IR::ExternBlock *) override |
| This method is called to add target specific extern entries.
|
|
void | addExternFunction (const P4RuntimeSymbolTableIface &, p4configv1::P4Info *, const P4::ExternFunction *) override |
|
void | addExternInstance (const P4RuntimeSymbolTableIface &, p4configv1::P4Info *, const IR::ExternBlock *) override |
|
void | addExternInstanceCommon (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, const IR::ExternBlock *externBlock, cstring pipeName=cstring::empty) |
|
void | addMeter (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Helpers::Counterlike< ArchMeterExtern > &meterInstance, const cstring blockPrefix=cstring::empty) |
|
void | addRegister (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Register ®isterInstance, cstring pipeName=cstring::empty) |
|
void | addTablePropertiesCommon (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, p4configv1::Table *table, const IR::TableBlock *tableBlock, cstring blockPrefix=cstring::empty) |
|
void | addValueSet (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info, const ValueSet &valueSetInstance) |
|
void | analyzeParser (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info, const IR::ParserBlock *parserBlock) |
|
void | collectAssignmentStatement (P4RuntimeSymbolTableIface *, const IR::AssignmentStatement *) override |
| Collects architecture-specific used in assignment statements.
|
|
void | collectExternFunction (P4RuntimeSymbolTableIface *, const P4::ExternFunction *) override |
|
void | collectExternInstanceCommon (P4RuntimeSymbolTableIface *symbols, const IR::ExternBlock *externBlock) |
|
void | collectExternMethod (P4RuntimeSymbolTableIface *, const P4::ExternMethod *) override |
| Collects architecture-specific @externMethod instance in @symbols table.
|
|
void | collectExtra (P4RuntimeSymbolTableIface *symbols) override |
|
void | collectParserSymbols (P4RuntimeSymbolTableIface *symbols, const IR::ParserBlock *parserBlock) |
|
void | collectTableProperties (P4RuntimeSymbolTableIface *symbols, const IR::TableBlock *tableBlock) override |
|
bool | filterAnnotations (cstring) override |
| called when processing annotations via setPreamble
|
|
template<typename Func > |
void | forAllExternMethodCalls (const IR::IDeclaration *object, Func function) |
| calls function on every extern method applied to the extern object
|
|
std::optional< ActionProfile > | getActionProfile (const IR::P4Table *table, ReferenceMap *refMap, TypeMap *typeMap) |
|
std::optional< ActionSelector > | getActionSelector (const IR::ExternBlock *instance) |
|
std::optional< ActionSelector > | getActionSelector (const IR::P4Table *table, ReferenceMap *refMap, TypeMap *typeMap) |
|
virtual cstring | getBlockNamePrefix (const IR::Block *) |
|
cstring | getControlPlaneName (const IR::Block *block) override |
| Get control plane name for @block.
|
|
cstring | getControlPlaneName (const IR::Block *block, const IR::IDeclaration *decl) |
|
std::optional< Digest > | getDigest (const IR::Declaration_Instance *decl, p4configv1::P4TypeInfo *p4RtTypeInfo) |
|
std::optional< DynHash > | getDynHash (const IR::Declaration_Instance *decl, p4configv1::P4TypeInfo *p4RtTypeInfo) |
|
cstring | getFullyQualifiedName (const IR::Block *block, const cstring name, bool skip_control_plane_name=false) |
|
const IR::IAnnotated * | getTableImplementationAnnotations (const IR::P4Table *table, ReferenceMap *refMap) |
|
std::optional< cstring > | getTableImplementationName (const IR::P4Table *table, ReferenceMap *refMap) |
|
const IR::Property * | getTableImplementationProperty (const IR::P4Table *table) |
|
void | postAdd (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info) override |
|
template<typename Kind > |
void | setCounterCommon (Kind *counter, const Helpers::Counterlike< ArchCounterExtern > &counterInstance) |
| Set common fields between barefoot::Counter and barefoot::DirectCounter.
|
|
template<typename Kind > |
void | setMeterCommon (Kind *meter, const Helpers::Counterlike< ArchMeterExtern > &meterInstance) |
| Set common fields between barefoot::Meter and barefoot::DirectMeter.
|
|
template<
Arch arch>
class BFN::BFRuntimeArchHandlerCommon< arch >
Parent class for BFRuntimeArchHandlerV1Model and BFRuntimeArchHandlerPSA; it includes all the common code between the two architectures (which is only dependent on the arch template parameter.