|
| Bmv2V1ModelProgramInfo (const BMv2V1ModelCompilerResult &compilerResult, ordered_map< cstring, const IR::Type_Declaration * > inputBlocks, std::map< int, int > declIdToGress) |
|
| DECLARE_TYPEINFO (Bmv2V1ModelProgramInfo, ProgramInfo) |
|
const IR::Expression * | dropIsActive () const override |
|
const ArchSpec & | getArchSpec () const override |
|
const IR::PathExpression * | getBlockParam (cstring blockLabel, size_t paramIndex) const |
|
const BMv2V1ModelCompilerResult & | getCompilerResult () const override |
|
int | getGress (const IR::Type_Declaration *) const |
|
P4::P4RuntimeAPI | getP4RuntimeAPI () const |
|
const IR::Type_Bits * | getParserErrorType () const override |
|
const ordered_map< cstring, const IR::Type_Declaration * > * | getProgrammableBlocks () const |
|
const IR::P4Table * | getTableofDirectExtern (const IR::IDeclaration *directExternDecl) const |
|
const IR::StateVariable & | getTargetInputPortVar () const override |
|
const IR::StateVariable & | getTargetOutputPortVar () const override |
|
| ProgramInfo (const ProgramInfo &)=default |
|
| ProgramInfo (ProgramInfo &&)=default |
|
virtual const IR::Expression * | createTargetUninitialized (const IR::Type *type, bool forceTaint) const |
|
| DECLARE_TYPEINFO (ProgramInfo) |
|
const NodesCallGraph & | getCallGraph () const |
|
cstring | getCanonicalBlockName (cstring programBlockName) const |
|
const ConcolicMethodImpls * | getConcolicMethodImpls () const |
|
const P4::Coverage::CoverageSet & | getCoverableNodes () const |
| Getter to access coverableNodes.
|
|
const IR::P4Program & | getP4Program () const |
|
const std::vector< Continuation::Command > * | getPipelineSequence () const |
|
std::optional< const IR::Expression * > | getTargetConstraints () const |
|
ProgramInfo & | operator= (const ProgramInfo &)=default |
|
ProgramInfo & | operator= (ProgramInfo &&)=default |
|
void | produceCopyInOutCall (const IR::Parameter *param, size_t paramIdx, const ArchSpec::ArchMember *archMember, std::vector< Continuation::Command > *copyIns, std::vector< Continuation::Command > *copyOuts) const |
|
template<typename T > |
T & | as () |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T & | as () const |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
T * | checkedTo () |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T * | checkedTo () const |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
bool | is () const noexcept |
|
virtual bool | isA (TypeId typeId) const noexcept=0 |
|
template<typename T > |
const T * | to () const noexcept |
| Same as to , but returns const pointer to T.
|
|
template<typename T > |
T * | to () noexcept |
|
virtual TypeId | typeId () const noexcept=0 |
|
P4::P4Tools::P4Testgen::Bmv2::Bmv2V1ModelProgramInfo::Bmv2V1ModelProgramInfo |
( |
const BMv2V1ModelCompilerResult & | compilerResult, |
|
|
ordered_map< cstring, const IR::Type_Declaration * > | inputBlocks, |
|
|
std::map< int, int > | declIdToGress ) |
Compute the series of nodes corresponding to the in-order execution of top-level pipeline-component instantiations. For a standard v1model, this produces the parser, the checksum verifier, the MAU pipeline, the checksum calculator, and finally the deparser. This sequence also includes nodes that handle transitions between the individual component instantiations.
Sending a too short packet in BMV2 produces nonsense, so we require the packet size to be larger than 32 bits.This number needs to be raised to the size of the ethernet header for the PTF and PROTOBUF back ends.
Finally, set the target constraints.