|
void | addMetadata (gress_t gress, MetadataField src, MetadataField dst) |
|
void | addMetadata (MetadataField src, MetadataField dst) |
|
virtual const IR::P4Program * | create (const IR::P4Program *program)=0 |
|
void | createActions () |
|
virtual void | createControls ()=0 |
|
void | createErrors () |
| replace with preorder pass
|
|
virtual void | createMain ()=0 |
|
virtual void | createParsers ()=0 |
|
void | createTofinoArch () |
|
void | createTypes () |
|
cstring | getBlockName (cstring name) |
|
void | include (cstring filename, IR::Vector< IR::Node > *decls) |
|
bool | isEgress (const IR::P4Control *control) |
|
bool | isEgressDeparser (const IR::P4Control *control) |
|
bool | isEgressParser (const IR::P4Parser *parser) |
|
bool | isIngress (const IR::P4Control *control) |
|
bool | isIngressDeparser (const IR::P4Control *control) |
|
bool | isIngressParser (const IR::P4Parser *parser) |
|
|
ordered_map< const IR::Node *, const IR::Node * > | _map |
| the translation map.
|
|
std::vector< const IR::Type_Action * > | action_types |
|
ordered_map< cstring, cstring > | blockNames |
|
ordered_map< cstring, const IR::P4Control * > | controls |
|
IR::IndexedVector< IR::Node > | declarations |
|
std::vector< const IR::Declaration * > | egressDeclarations |
|
std::vector< const IR::Declaration * > | egressDeparserDeclarations |
|
std::vector< const IR::StatOrDecl * > | egressDeparserStatements |
|
std::map< MetadataField, MetadataField > | egressMetadataNameMap |
|
std::vector< const IR::Declaration * > | egressParserDeclarations |
|
ordered_map< cstring, std::vector< const IR::StatOrDecl * > > | egressParserStatements |
|
std::vector< const IR::StatOrDecl * > | egressStatements |
|
ordered_map< cstring, const IR::Type_Enum * > | enums |
|
ordered_set< cstring > | errors |
| target architecture types
|
|
ordered_map< cstring, const IR::Declaration_Instance * > | global_instances |
|
std::vector< const IR::Declaration * > | ingressDeclarations |
|
std::vector< const IR::Declaration * > | ingressDeparserDeclarations |
|
std::vector< const IR::StatOrDecl * > | ingressDeparserStatements |
|
std::map< MetadataField, MetadataField > | ingressMetadataNameMap |
|
std::vector< const IR::Declaration * > | ingressParserDeclarations |
|
ordered_map< cstring, std::vector< const IR::StatOrDecl * > > | ingressParserStatements |
|
std::vector< const IR::StatOrDecl * > | ingressStatements |
|
ordered_map< const IR::Member *, const IR::Member * > | membersToDo |
|
NodeNameMap | nameMap |
|
ordered_map< cstring, const IR::P4Parser * > | parsers |
|
ordered_map< const IR::Member *, gress_t > | pathsThread |
|
ordered_map< const IR::Member *, const IR::Member * > | pathsToDo |
| maintain the paths to translate and their thread info
|
|
ordered_map< cstring, const IR::Type_SerEnum * > | ser_enums |
|
std::set< MetadataField > | targetMetadataSet |
|
IR::Vector< IR::Node > | targetTypes |
|
const IR::ToplevelBlock * | toplevel |
| program control block names from P14
|
|
ordered_map< cstring, const IR::Type_Declaration * > | type_declarations |
|
ordered_map< const IR::Member *, const IR::Member * > | typeNamesToDo |
|
std::set< cstring > | unique_names = {"checksum"_cs, "hash"_cs, "random"_cs} |
| all unique names in the program
|
|