Explicitly invalidate uninitialized header variables. More...

Public Member Functions | |
| DoResetHeaders (const TypeMap *typeMap) | |
| const IR::Node * | postorder (IR::Declaration_Variable *decl) override |
| const IR::Node * | postorder (IR::P4Control *control) override |
| const IR::Node * | postorder (IR::ParserState *state) override |
Static Public Member Functions | |
| static void | generateResets (const TypeMap *typeMap, const IR::Type *type, const IR::Expression *expr, IR::Vector< IR::StatOrDecl > *resets) |
Explicitly invalidate uninitialized header variables.
A local uninitialized variable that represents a header must be initialized to invalid. For example:
becomes
This pass also handles header fields in variables of derived types, like structs and unions.