P4C
The P4 Compiler
|
Assembly output | Generate assembly output |
Backend | Overview of backend passes |
Backtracking in PHV allocation and table placement | Description of PHV allocation and table placement phases of compilation |
Control Plane API Generation | |
MAU/PPU resource allocation | Content related to resource allocation inside MAU/PPU |
▼Midend | Overview of midend passes |
BFN::AlpmImplementation | Set of passes that implement ALPM |
BFN::AnnotateWithInHash | Set of passes that annotate specific assignment statements with the @in_hash annotation |
▼BFN::ArchTranslation | Set of passes that normalize variations in the architectures |
BFN::PortableSwitchTranslation | Set of passes that translate PSA architecture |
BFN::SimpleSwitchTranslation | Set of passes that translate v1model architecture |
BFN::T2naArchTranslation | Set of passes that translate T2NA architecture |
BFN::TnaArchTranslation | Set of passes that translate TNA architecture |
BFN::CheckDesignPattern | Set of passes that check for design patterns |
BFN::ElimCasts | Set of passes that simplify the complex expressions with multiple casts into simpler expressions |
BFN::RemoveActionParameters | Set of passes that specialize the p4c/frontends/RemoveActionParameters class |
BFN::RemoveSelectBooleans | Set of passes that convert boolean values in select statements to bit<1> values. The node is also transformed to IR:BFN:ReinterpretCasts |
BFN::RewriteFlexibleStruct | Set of passes that moves flexible annotation from structure to its fields |
BFN::SimplifyEmitArgs | Set of passes that simplify headers and emits |
DesugarVarbitExtract | Set of passes that rewrite usage of varbit |
P4::SimplifyIfStatement | Set of passes that simplify if statements |
P4::SimplifyNestedIf | Set of passes that simplify nested if statements in the deparser control block |
Overview of bf-p4c | Overview of passes performed by the bf-p4c binary |
PHV allocation | Content related to PHV allocation |
▼Parser & deparser | Content related to parser and deparser |
DeparserCopyOpt | Decaf : a deparser optimization of copy assigned fields |
DesugarVarbitExtract | Set of passes that rewrite usage of varbit |
ExtractChecksum | Extracts checksum from translated checksum extern |
▼LowerParser | Replace field-based parser and deparser IR with container-based parser and deparser IR |
LowerDeparserIR | Replace deparser IR with lowered version that references containers instead of fields |
▼LowerParserIR | Generates a lowered version of the parser IR in this program and swaps it in for the existing representation |
AllocateParserChecksums | Allocates parser checksums |
ParserCopyProp | PassManager that governs parser copy propagation |
P4::SimplifyNestedIf | Set of passes that simplify nested if statements in the deparser control block |
ParserCopyProp | PassManager that governs parser copy propagation |
ResetInvalidatedChecksumHeaders | Reset fields that are used in deparser checksum operations and were invalidated |
▼Post-midend | Overview of post-midend passes |
Packing of bridged and fixed-size headers | Overview of passes that adjust packing of bridged headers |
Stateful ALU Overview | Content related to stateful ALU |
Table placement | Content related to table placement |