| ►NBitRange | |
| CFromTo | |
| CMinToMax | |
| CStartLen | |
| CZeroToMax | |
| ►NBMV2 | TODO: this is not really specific to BMV2, it should reside somewhere else |
| ►NHelpers | |
| CCounterlikeTraits | |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for CounterExtern for PNA |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > | |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for MeterExtern for PNA |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > | |
| ►NStandard | |
| CActionProfileTraits | |
| CActionProfileTraits< Arch::PNA > | |
| CActionProfileTraits< Arch::PSA > | |
| CActionProfileTraits< Arch::V1MODEL > | |
| CActionProfileTraits< Arch::V1MODEL2020 > | |
| CActionSelectorTraits | |
| CActionSelectorTraits< Arch::PNA > | |
| CActionSelectorTraits< Arch::PSA > | |
| CActionSelectorTraits< Arch::V1MODEL > | |
| CActionSelectorTraits< Arch::V1MODEL2020 > | |
| CCounterExtern | |
| CMeterExtern | |
| CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA |
| CRegisterTraits< Arch::PNA > | |
| CRegisterTraits< Arch::PSA > | |
| CRegisterTraits< Arch::V1MODEL > | |
| CRegisterTraits< Arch::V1MODEL2020 > | |
| CActionConverter | |
| CArithmeticFixup | |
| CBackend | Backend is a the base class for SimpleSwitchBackend and PortableSwitchBackend |
| CBMV2Options | |
| ►CCFG | |
| CDummyNode | |
| CEdge | A CFG Edge; can be an in-edge or out-edge |
| CEdgeSet | |
| CIfNode | |
| CNode | |
| CTableNode | |
| CCheckUnsupported | |
| CControlConverter | |
| CConversionContext | |
| CConvertGlobals | |
| CConvertPnaToJson | |
| CConvertPsaToJson | |
| CDeparserConverter | |
| CEnumOn32Bits | |
| CExpressionConverter | |
| CExternConverter | |
| CHeaderConverter | |
| CInspectPnaProgram | |
| CJsonObjects | |
| CLowerExpressions | This pass rewrites expressions which are not supported natively on BMv2 |
| CMatchImplementation | |
| CMidEnd | |
| CParseAnnotations | Parses BMV2-specific annotations |
| CParsePnaArchitecture | |
| CParserConverter | |
| CParseV1Architecture | |
| CPnaCodeGenerator | |
| CPnaEnumOn32Bits | |
| CPnaNicBackend | |
| CPnaNicExpressionConverter | |
| CPnaNicMidEnd | |
| CPnaNicOptions | |
| CPnaProgramStructure | |
| CPortableCodeGenerator | |
| CPortableMidEnd | |
| CPortableOptions | |
| CProcessControls | |
| CPsaCodeGenerator | |
| CPsaEnumOn32Bits | |
| CPsaSwitchBackend | |
| CPsaSwitchExpressionConverter | |
| CPsaSwitchMidEnd | |
| CPsaSwitchOptions | |
| CRemoveComplexExpressions | |
| CRenameUserMetadata | |
| CSharedActionSelectorCheck | |
| CSimpleSwitchBackend | |
| CSimpleSwitchExpressionConverter | |
| CSimpleSwitchMidEnd | |
| CSimpleSwitchOptions | |
| CSkipControls | This class implements a policy suitable for the SynthesizeActions pass |
| CTableAttributes | |
| CV1ModelProperties | |
| CV1ProgramStructure | |
| ►NDBPrint | |
| Cclrflag | |
| Csetflag | |
| Csetflags_helper | |
| Csetprec | |
| ►NDPDK | |
| CactionAttributes | |
| CAddFieldsToPseudoHeader | This pass finally adds all the collected fields to pseudo header add collected pseudo header fields into dpdk_pseudo_header_t |
| CAlignHdrMetaField | |
| CBranchingInstructionGeneration | |
| CBreakLogicalExpressionParenthesis | |
| CByteAlignment | |
| CCheckExternInvocation | Class which chooses the correct class for checking the constraints for invocations. of extern methods and functions depending on the architecture |
| CCheckPNAExternInvocation | Class for checking constraints for invocations of PNA architecture extern methods and functions |
| CCollectActionUses | |
| CCollectAddOnMissTable | |
| CCollectDirectCounterMeter | |
| CCollectErrors | |
| CCollectExternDeclaration | |
| CCollectInternetChecksumInstance | |
| CCollectIPSecInfo | |
| CCollectLocalStructAndFlatten | |
| CCollectLocalVariables | |
| CCollectMetadataHeaderInfo | |
| CCollectProgramStructure | |
| CCollectStructLocalVariables | |
| CCollectTableInfo | |
| CCollectUseDefInfo | |
| CCollectUsedMetadataField | This pass Collects all metadata struct member used in program |
| CConvertActionSelectorAndProfile | |
| CConvertBinaryOperationTo2Params | |
| CConvertInternetChecksum | |
| CConvertLogicalExpression | |
| ►CConvertLookahead | |
| CCollect | |
| CReplace | |
| CReplacementMap | |
| CConvertStatementToDpdk | |
| CConvertToDpdkArch | |
| CConvertToDpdkControl | |
| CConvertToDpdkParser | |
| CConvertToDpdkProgram | |
| CConvertToString | |
| CCopyMatchKeysToSingleStruct | |
| CCopyPropagationAndElimination | This pass identifies redundant copies/moves and eliminates them |
| CDeclarationInjector | |
| CDefActionValue | |
| CDirectionToRegRead | |
| CDismantleMuxExpressions | |
| CDpdkAddPseudoHeader | |
| CDpdkAddPseudoHeaderDecl | This pass adds a pseudo header declaration, it will be used as container of operands where dpdk instructions require it's operand to be in a header. It adds a type decl like below @__pseudo_header__ header dpdk_pseudo_header_t { } |
| CDpdkArchFirst | |
| CDpdkArchLast | |
| CDpdkAsmOptimization | |
| CDpdkBackend | |
| CDpdkContextGenerator | This pass generates context JSON into user specified file |
| CDpdkHandleIPSec | |
| CDpdkMidEnd | |
| CDpdkOptions | |
| CElimHeaderCopy | |
| CEliminateHeaderCopy | |
| CEliminateUnusedAction | |
| CElimUnusedActions | |
| CEmitDpdkTableConfig | |
| CEnumOn32Bits | |
| CErrorWidth | |
| CExpressionUnroll | |
| CexternAttributes | |
| CfieldInfo | |
| CHaveNonHeaderChecksumArgs | |
| CHaveNonHeaderLargeOperandAssignment | This pass checks whether an assignment statement has large operands (>64-bit) |
| CIfStatementUnroll | |
| CInjectFixedMetadataField | |
| CInjectInternetChecksumIntermediateValue | |
| CInjectJumboStruct | |
| CInsertReqDeclForIPSec | |
| CIsDirectionMetadataUsed | |
| CkeyElementInfo | |
| CkeyInfo | |
| CLogicalExpressionUnroll | |
| CMoveCollectedStructLocalVariableToMetadata | |
| CMoveNonHeaderFieldsToPseudoHeader | This pass identifies and collects statement which requires it's operand to be in a header and also initialize added header fields with original operand. i.e. csum_0.add<tuple_0>((tuple_0){f0 = m.Ingress_tmp_1,f1 = m.Ingress_tmp_2, f2 = m.Ingress_tmp_3,f3 = m.Ingress_tmp_4,f4 = m.Ingress_tmp_5}); transformed into h.dpdk_pseudo_header.pseudo = (bit<16>)m.Ingress_tmp_1; h.dpdk_pseudo_header.pseudo_0 = (bit<16>)m.Ingress_tmp_2; h.dpdk_pseudo_header.pseudo_1 = (bit<8>)m.Ingress_tmp_3; h.dpdk_pseudo_header.pseudo_2 = (bit<32>)m.Ingress_tmp_4; h.dpdk_pseudo_header.pseudo_3 = (bit<32>)m.Ingress_tmp_5; csum_0.add<tuple_1>((tuple_1){f0 = h.dpdk_pseudo_header.pseudo, f1 = h.dpdk_pseudo_header.pseudo_0,f2 = h.dpdk_pseudo_header.pseudo_1, f3 = h.dpdk_pseudo_header.pseudo_2,f4 = h.dpdk_pseudo_header.pseudo_3}); |
| CPrependPassRecircId | |
| CPrependPDotToActionArgs | |
| CProcessControls | Only simplify complex expression in ingress/egress |
| CRemoveConsecutiveJmpAndLabel | |
| CRemoveLabelAfterLabel | |
| CRemoveRedundantLabel | This pass removes label that no jmps jump to |
| CRemoveUnusedMetadataFields | This pass removes all unused fields from metadata struct |
| CReplaceHdrMetaField | |
| CSelectionTable | Selection table attributes |
| CShortenTokenLength | This pass shorten the Identifier length |
| CSplitActionProfileTable | |
| CSplitActionSelectorTable | |
| CSplitP4TableCommon | |
| CStatementUnroll | |
| CSwapSimpleExpressionToFrontOfLogicalExpression | |
| CSwitchHandler | |
| CTableAttributes | |
| CTdiBfrtConf | |
| CThreadJumps | |
| CTopLevelCtxt | Program level information for context json |
| CTypeWidthValidator | |
| CUpdateActionForSwitch | |
| CValidateAddOnMissExterns | |
| CValidateDirectCounterMeter | |
| CValidateOperandSize | |
| ►NEBPF | |
| CActionTranslationVisitor | |
| CActionTranslationVisitorPSA | |
| CBccTarget | Represents a target compiled by bcc that uses the TC |
| CCodeBuilder | |
| CCodeGenInspector | |
| CControlBodyTranslator | |
| CControlBodyTranslatorPSA | |
| CConvertToEBPFControlPSA | |
| CConvertToEBPFDeparserPSA | |
| CConvertToEBPFParserPSA | |
| CConvertToEbpfPipeline | |
| CConvertToEbpfPSA | |
| CCounterArray_Model | |
| CCRC16ChecksumAlgorithm | |
| CCRC32ChecksumAlgorithm | |
| CCRCChecksumAlgorithm | |
| CDeparserBodyTranslator | This translator emits deparser externs |
| CDeparserBodyTranslatorPSA | |
| CDeparserHdrEmitTranslator | This translator emits headers |
| CDeparserPrepareBufferTranslator | This translator emits buffer preparation (eg. which headers will be emitted) |
| CEBPFActionProfilePSA | |
| CEBPFActionSelectorPSA | |
| CEBPFBoolType | |
| CEBPFChecksumPSA | |
| CEbpfCodeGenerator | |
| CEBPFControl | |
| CEBPFControlPSA | |
| CEBPFCounterPSA | |
| CEBPFCounterTable | |
| CEBPFDeparser | |
| CEBPFDeparserPSA | |
| CEBPFDigestPSA | |
| CEBPFDigestPSAValueVisitor | |
| CEBPFEgressPipeline | |
| CEBPFEnumType | |
| CEBPFErrorType | |
| CEBPFHashAlgorithmPSA | |
| CEBPFHashAlgorithmTypeFactoryPSA | |
| CEBPFHashPSA | |
| CEBPFIngressPipeline | |
| CEBPFInitializerUtils | |
| CEBPFInternetChecksumPSA | |
| CEBPFMeterPSA | |
| CEBPFMethodDeclaration | Methods are function signatures |
| CEBPFModel | Keep this in sync with ebpf_model.p4 and xdp_model.p4 |
| CEBPFObject | Base class for EBPF objects |
| CEBPFParser | |
| CEBPFParserState | |
| CEBPFPipeline | EBPFPipeline represents a single eBPF program in the TC/XDP hook |
| CEBPFProgram | |
| CEBPFPsaParser | |
| CEBPFRandomPSA | |
| CEBPFRegisterPSA | |
| CEBPFScalarType | |
| CEBPFStackType | |
| CEBPFStructType | Also represents headers and unions |
| CEBPFTable | |
| CEBPFTableBase | Also used to represent counters |
| CEBPFTableImplementationPSA | Base class for ActionProfile and ActionSelector |
| CEBPFTablePSA | |
| CEBPFTablePSADirectCounterPropertyVisitor | |
| CEBPFTablePSADirectMeterPropertyVisitor | |
| CEBPFTablePSAImplementationPropertyVisitor | |
| CEBPFTablePSAInitializerCodeGen | |
| CEBPFTablePsaPropertyVisitor | |
| CEBPFTablePSATernaryKeyMaskGenerator | Build mask initializer for a single table key entry |
| CEBPFTablePSATernaryTableMaskGenerator | Generate mask for whole table key |
| CEBPFType | Base class for EBPF types |
| CEBPFTypeFactory | |
| CEBPFTypeName | This should not always implement IHasWidth, but it may.. |
| CEBPFValueSet | |
| CEgressDeparserPSA | |
| CEnumOn32Bits | |
| CFilter_Model | |
| CIHasWidth | |
| CIngressDeparserPSA | |
| CInternetChecksumAlgorithm | |
| CKernelSamplesTarget | |
| CLower | |
| CLowerExpressions | This pass rewrites expressions which are not supported natively on EBPF |
| CMidEnd | |
| CP4TCTarget | |
| CPSAArchTC | |
| CPSAArchXDP | |
| CPSAEbpfGenerator | |
| CPSAErrorCodesGen | |
| CPsaStateTranslationVisitor | |
| CPSASwitchBackend | |
| CStateTranslationVisitor | |
| CTableImpl_Model | |
| CTarget | |
| CTCEgressDeparserPSA | |
| CTCEgressPipeline | |
| CTCIngressDeparserForTrafficManagerPSA | |
| CTCIngressDeparserPSA | |
| CTCIngressPipeline | |
| CTCTrafficManagerForXDP | |
| CTestTarget | |
| CXdp_Model | |
| CXDPEgressDeparserPSA | |
| CXDPEgressPipeline | |
| CXDPHelpProgram | |
| CXDPIngressDeparserPSA | |
| CXDPIngressPipeline | |
| CXdpTarget | Target XDP |
| ►Ngraphs | |
| ►CControlGraphs | |
| CControlStack | |
| CEdgeIf | |
| CEdgeSwitch | |
| CEdgeTypeIface | |
| CEdgeUnconditional | |
| CGraph_visitor | |
| ►CGraphs | |
| CGraphAttributeSetter | |
| CVertex | |
| CMidEnd | |
| COptions | |
| ►CParserGraphs | |
| CTransitionEdge | |
| ►NIndentCtl | |
| CTempIndent | |
| ►NIR | |
| Chas_static_type_name | |
| Chas_static_type_name< T, std::void_t< decltype(T::static_type_name())> > | |
| CID | |
| CIDeclaration | The Declaration interface, representing objects with names |
| CIndexedVector | |
| CINode | |
| CNameMap | |
| CNode | |
| CNodeMap | |
| CStateVariableEqual | Equals for StateVariable pointers. We only compare the label |
| CStateVariableLess | Less for StateVariable pointers. We only compare the label |
| CSymbolicVariableEqual | Equals for SymbolicVariable pointers. We only compare the label |
| CSymbolicVariableLess | Less for SymbolicVariable pointers. We only compare the label |
| CVector | |
| CVectorBase | |
| ►NLog | |
| ►NDetail | |
| CLevelAndOutput | |
| COutputLogPrefix | |
| ►NModel | |
| CElem | |
| CEnum_Model | Enum_Model : Type_Model |
| CExtern_Model | Extern_Model : Type_Model |
| CModel | |
| CParam_Model | Param_Model : Elem |
| CType_Model | |
| ►NNetHash | A collection of hashing functions commonly used in network protocols |
| CIdentity | A class with the same signature as reflect, but just returning the data |
| CReflect | |
| ►NP4 | TODO: this is not really specific to BMV2, it should reside somewhere else |
| ►NBFRT | |
| ►CBFRuntimeGenerator | |
| CActionProf | |
| CCounter | Common counter representation between PSA and other architectures |
| CDigest | Common digest representation between PSA and other architectures |
| CMeter | Common meter representation between PSA and other architectures |
| CRegister | Common register representation between PSA and other architectures |
| ►CBFRuntimeSchemaGenerator | |
| CActionSelector | |
| ►CTypeSpecParser | |
| CField | |
| ►NControlPlaneAPI | TODO(antonin): High level goals of the generator go here!! |
| ►NHelpers | |
| CCounterlike | |
| CCounterlikeTraits | A traits class describing the properties of "counterlike" things |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for CounterExtern for PNA |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model |
| CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > | |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for MeterExtern for PNA |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model |
| CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > | |
| ►NStandard | Declarations specific to standard architectures (v1model & PSA) |
| CActionProfile | |
| CActionProfileTraits | |
| CActionProfileTraits< Arch::PNA > | |
| CActionProfileTraits< Arch::PSA > | |
| CActionProfileTraits< Arch::V1MODEL > | |
| CActionProfileTraits< Arch::V1MODEL2020 > | |
| CActionSelector | |
| CActionSelectorTraits | |
| CActionSelectorTraits< Arch::PNA > | |
| CActionSelectorTraits< Arch::PSA > | |
| CActionSelectorTraits< Arch::V1MODEL > | |
| CActionSelectorTraits< Arch::V1MODEL2020 > | |
| CBFRuntimeArchHandler | |
| CBFRuntimeArchHandlerPNA | |
| CBFRuntimeArchHandlerPSA | |
| CCounterExtern | |
| CDigest | |
| CMeterExtern | |
| CP4RuntimeArchHandlerCommon | |
| CP4RuntimeArchHandlerPNA | |
| CP4RuntimeArchHandlerPSA | |
| CP4RuntimeArchHandlerPSAPNA | |
| CP4RuntimeArchHandlerUBPF | |
| CP4RuntimeArchHandlerV1Model | |
| CPNAArchHandlerBuilder | The architecture handler builder implementation for PNA |
| CPNAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PNA |
| CPSAArchHandlerBuilder | The architecture handler builder implementation for PSA |
| CPSAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PSA |
| CRegister | |
| CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA |
| CRegisterTraits< Arch::PNA > | |
| CRegisterTraits< Arch::PSA > | |
| CRegisterTraits< Arch::V1MODEL > | |
| CRegisterTraits< Arch::V1MODEL2020 > | |
| CSymbolType | |
| CSymbolTypeDPDK | Extends P4RuntimeSymbolType for the DPDK extern types |
| CUBPFArchHandlerBuilder | The architecture handler builder implementation for UBPF |
| CV1ModelArchHandlerBuilder | The architecture handler builder implementation for v1model |
| CActionRef | |
| CControllerType | See section "User-defined types" in P4RT specification |
| CDefaultAction | The information about a default action which is needed to serialize it |
| CFieldIdAllocator | |
| CFlattenHeader | Flattens a header type "locally", without modifying the IR |
| CMatchField | The information about a match field which is needed to serialize it |
| CP4InfoMaps | |
| CP4RuntimeAnalyzer | |
| CP4RuntimeArchHandlerBuilderIface | |
| CP4RuntimeArchHandlerIface | |
| CP4RuntimeEntriesConverter | |
| CP4RuntimeSymbolTable | |
| CP4RuntimeSymbolTableIface | |
| CP4RuntimeSymbolType | |
| CP4SymbolSuffixSet | |
| CParseP4RuntimeAnnotations | Parses P4Runtime-specific annotations |
| CTranslationAnnotation | Payload of @p4runtime_translation annotation |
| CTypeSpecConverter | Generates the appropriate p4.P4DataTypeSpec for a given IR::Type node |
| ►NCoverage | |
| CCollectNodes | |
| CCoverageOptions | Specifies general options and which IR nodes to track with this particular visitor |
| CSourceIdCmp | Utility function to compare IR nodes in a set. We use their source info |
| ►NParserStructureImpl | |
| CParserStateRewriter | |
| CParserSymbolicInterpreter | |
| CAbstractInliner | |
| CAbstractParserDriver | |
| CActionCall | |
| CActionInvocation | |
| CActionReplacement | |
| CActionsInliner | |
| CActionSynthesisPolicy | |
| CAddMissingIdAnnotations | |
| CAllDefinitions | |
| CAnalyzeParser | |
| CAnnotationSelectionPolicy | |
| CAnyElement | |
| CApplyMethod | |
| CApplyOptionsPragmas | |
| CApplyTypesToExpressions | |
| CArrayLocation | |
| CBaseLocation | |
| CBinaryConstraint | Base class for EqualityConstraint and CanBeImplicitlyCastConstraint |
| CBindTypeVariables | |
| CBuildResourceMap | |
| CBuiltInMethod | |
| ►CCallGraph | |
| CLoop | |
| CLoops | |
| CsccInfo | |
| CCallInfo | Describes information about a caller-callee pair |
| CCanBeImplicitlyCastConstraint | The right type can be implicitly cast to the left type |
| CCastBooleanTableKeys | |
| CCheckConstants | |
| CCheckCoreMethods | |
| CCheckExternInvocationCommon | Base class which can be used to prepare classes for checking constraints for invocations of externs (both methods and pure functions) in parsers and control blocks |
| CCheckNamedArgs | |
| CCheckTableSize | Checks some possible misuses of the table size property |
| CChooseEnumRepresentation | |
| CChooseErrorRepresentation | |
| CClearTypeMap | |
| CCloneConstants | |
| CCloneExpressions | |
| CCloneVariableDeclarations | |
| CCompileTimeOperations | |
| ►CComplexValues | |
| CComponent | |
| CFieldsMap | |
| CFinalName | |
| ►CComputeDefUse | Compute defuse info within P4Parser and P4Control blocks in the midend |
| Cloc_t | |
| CSetupJoinPoints | |
| CComputeParserCG | Builds a CallGraph of ParserState nodes |
| CComputeWriteSet | |
| CConstantFolding | |
| CConstantFoldingPolicy | |
| CConstantTypeSubstitution | |
| CConstructorCall | |
| CContainerConstructorCall | |
| CContainsType | |
| CControlInstantiation | |
| CConvertEnums | |
| CConvertErrors | |
| CCopySrcInfo | |
| CCopyStructures | |
| CCreateBuiltins | |
| CCreateSpecializedTypes | |
| CCreateStructInitializers | Converts some list expressions into struct initializers |
| CDeclarationLookup | |
| CDefaultArguments | |
| CDefaultValues | |
| CDefinitions | List of definers for each base storage (at a specific program point) |
| CDeprecated | |
| CDiagnosticCountInfo | |
| CDiagnosticCountInfoGuard | |
| CDiagnosticCountInfoState | |
| ►CDirectMeterMap | |
| CDirectMeterInfo | |
| CDiscoverActionsInlining | |
| CDiscoverFunctionsInlining | |
| CDiscoverInlining | Must be run after an evaluator; uses the blocks to discover caller/callee relationships |
| CDiscoverStructure | |
| CDoBindTypeVariables | |
| CDoCheckConstants | |
| CDoCheckCoreMethods | Check types for arguments of core.p4 methods |
| CDoConstantFolding | Statically evaluates many constant expressions |
| CDoConvertEnums | |
| CDoConvertErrors | |
| CDoCopyStructures | |
| CDoDefaultArguments | |
| CDoDefaultValues | |
| CDoEliminateInvalidHeaders | |
| CDoEliminateSerEnums | |
| CDoEliminateSwitch | |
| CDoExpandEmit | |
| CDoExpandLookahead | |
| CDoFlattenHeaderUnion | |
| CDoFlattenHeaderUnionStack | |
| CDoGlobalCopyPropagation | |
| CDoHandleNoMatch | |
| ►CDoLocalCopyPropagation | |
| CElimDead | |
| CRewriteTableKeys | |
| CDoMoveActionsToTables | |
| CDontcareArgs | |
| CDoOrderArguments | |
| CDoRemoveActionParameters | |
| CDoRemoveAssertAssume | |
| CDoRemoveExits | |
| CDoRemoveLeftSlices | |
| CDoRemoveMiss | |
| CDoRemoveParserControlFlow | Converts if statements in parsers into transitions |
| CDoRemoveReturns | |
| CDoRemoveSelectBooleans | |
| CDoReplaceNewtype | |
| CDoReplaceSelectRange | |
| CDoReplaceTuples | |
| CDoReplaceTypedef | |
| CDoResetHeaders | Explicitly invalidate uninitialized header variables |
| CDoSetHeaders | |
| CDoSimplifyControlFlow | Replace complex control flow nodes with simpler ones where possible |
| CDoSimplifyDefUse | |
| CDoSimplifyExpressions | Convert expressions so that each expression contains at most one side effect |
| CDoSimplifyKey | |
| CDoSimplifyParsers | Remove unreachable parser states, and collapse simple chains of states |
| CDoSimplifySelectCases | |
| CDoSimplifySwitch | Simplify select and switch statements that have constant arguments |
| ►CDoSingleArgumentSelect | |
| CPair | A pair of expression representing an expression and a mask |
| CDoStaticAssert | |
| CDoStrengthReduction | |
| CDoSynthesizeActions | |
| CDoTableHit | |
| CDoTableKeyNames | |
| CDuplicateActions | |
| CEliminateInvalidHeaders | |
| CEliminateNewtype | |
| CEliminateSerEnums | |
| CEliminateSubparserCalls | |
| CEliminateSwitch | |
| CEliminateTuples | |
| CEliminateTypedef | |
| CEntryPriorities | Assigns priorities to table entries if they are not 'const' |
| CEnumInstance | |
| CEnumOn32Bits | |
| CEnumRepresentation | |
| CEqualityConstraint | Requires two types to be equal |
| CEvaluator | |
| CEvaluatorPass | |
| CExpandEmit | |
| CExpandLookahead | |
| CExplain | Creates a string that describes the values of current type variables |
| CExpressionEvaluator | |
| CExternConstructorCall | |
| CExternFunction | |
| CExternInstance | |
| CExternInstantiation | |
| CExternMethod | |
| CFillEnumMap | |
| CFindActionParameters | |
| CFindFunctionSpecializations | |
| CFindGlobalActionUses | |
| CFindHeaderTypesToReplace | |
| CFindParameters | Finds parameters for actions that will be given unique names |
| CFindRedundantParsers | |
| CFindRepeatedActionUses | |
| CFindSpecializations | |
| CFindSymbols | |
| CFindTypesInLogMsgInvocationToReplace | |
| CFindTypeSpecializations | |
| CFindTypesToReplace | |
| CFindVariableValues | |
| CFlattenHeaders | |
| CFlattenHeaderUnion | |
| CFlattenInterfaceStructs | |
| CFlattenLogMsg | |
| CFrontEnd | |
| CFrontEndPolicy | |
| CFunctionCall | |
| CFunctionsInliner | |
| CFunctionSpecialization | Describes how a generic function is specialized |
| CFunctionSpecializationMap | |
| CGeneralInliner | Performs actual inlining work |
| CGlobalActionReplacements | |
| CGlobalCopyPropagation | |
| CHandleNoMatch | |
| CHandleValidityHeaderUnion | |
| CHasExits | |
| CHasTableApply | Checks to see whether an IR node includes a table.apply() sub-expression |
| CHierarchicalNames | |
| CHSIndexContretizer | |
| CHSIndexFinder | |
| CHSIndexSimplifier | |
| CHSIndexTransform | This class substitutes index of a header stack in all occurences of found header stack |
| CIfInParser | Detect whether the program contains an 'if' statement in a parser |
| CIHasBlock | |
| CIndexedLocation | Interface for locations that support an index operation |
| CInline | |
| CInlineActions | |
| CInlineDriver | |
| CInlineFunctions | |
| CInlineList | |
| CInlinePass | Performs one round of inlining bottoms-up |
| ►CInlineSummary | Summarizes all inline operations to be performed |
| ►CPerCaller | Various substitutions that must be applied for each instance |
| Ckey_equal | |
| Ckey_hash | |
| CInspectPortableProgram | |
| CInspectPsaProgram | |
| CInstanceBase | |
| CInstantiateDirectCalls | |
| CInstantiation | Used to resolve a Declaration_Instance |
| CIOptionPragmaParser | |
| CIsLikeLeftValue | |
| CIsMask | |
| CIsNonConstantArrayIndex | |
| CIsValid | |
| CKeyIsSimple | |
| CKeyNameGenerator | |
| CKeySideEffect | |
| Cloc_t | |
| CLocalCopyPropagation | |
| CLocalizeActions | |
| CLocalizeAllActions | |
| CLocationPath | |
| CLocationSet | |
| CMethodInstance | |
| CMidEndLast | |
| CMinimalNameGenerator | |
| CMissingIdAssigner | |
| CMoveActionsToTables | |
| CMoveConstructors | |
| CMoveDeclarations | |
| CMoveInitializers | |
| CNameGenerator | |
| CNestedStructMap | |
| CNestedStructs | |
| COrderArguments | |
| COrPolicy | |
| CP4COptionPragmaParser | |
| CP4CoreLibrary | |
| CP4Exception_Model | |
| CP4ParserDriver | A ParserDriver that can parse P4-16 programs |
| CP4RuntimeAPI | |
| CP4RuntimeSerializer | Public APIs to generate P4Info message. Uses the singleton pattern |
| CPackageInstantiation | |
| CPacketIn | |
| CPacketOut | |
| CParameterSubstitution | |
| CParseAnnotationBodies | Clears a type map after calling a ParseAnnotations instance |
| CParseAnnotations | |
| CParsePortableArchitecture | |
| CParsePsaArchitecture | |
| CParserInfo | Information produced for a parser by the symbolic evaluator |
| CParserInstantiation | |
| CParserRewriter | |
| CParserStateInfo | Information produced for a parser state by the symbolic evaluator |
| CParserStructure | Information about a parser in the input program |
| CParsersUnroll | |
| CPerInstanceSubstitutions | |
| CPortableProgramStructure | |
| CPredication | |
| CProgramMap | |
| CProgramPoint | Indicates a statement in the program |
| CProgramPoints | |
| CProgramStructure | |
| CPsaProgramStructure | |
| CReadsWrites | Computes the SetOfLocations read and written by an expression |
| CReassociation | |
| CReferenceMap | Class used to encode maps from paths to declarations |
| CRemoveActionParameters | |
| CRemoveAliases | |
| CRemoveAllUnusedDeclarations | Iterates RemoveUnusedDeclarations until convergence |
| CRemoveAssertAssume | |
| CRemoveBreakContinue | |
| CRemoveComplexComparisons | |
| CRemoveComplexExpressions | |
| CRemoveComplexExpressionsPolicy | |
| CRemoveDontcareArgs | |
| CRemoveExits | |
| CRemoveGenericTypes | Removes all structs or stacks that are generic |
| CRemoveHidden | |
| CRemoveLeftSlices | |
| CRemoveMiss | |
| CRemoveModifiedValues | |
| CRemoveNestedStructs | |
| CRemoveParserControlFlow | |
| CRemoveParserIfs | |
| CRemoveRedundantParsers | |
| CRemoveReturns | |
| CRemoveSelectBooleans | |
| CRemoveUnusedActionParameters | |
| CRemoveUnusedDeclarations | Removes unused declarations |
| CRemoveUnusedHUDeclarations | |
| CRemoveUnusedPolicy | |
| CRemoveUselessCasts | |
| CRenameMap | |
| CRenameSymbols | |
| CReplaceHeaders | |
| CReplaceIndexRefs | |
| CReplaceLogMsg | |
| CReplacementMap | |
| CReplaceSelectRange | |
| CReplaceStructs | |
| CReplaceTypeUses | |
| CResetHeaders | Invokes TypeChecking followed by DoResetHeaders |
| CResolutionContext | Visitor mixin for looking up names in enclosing scopes from the Visitor::Context |
| CResolveReferences | |
| CRewriteAllParsers | |
| CSameExpression | |
| CSaturationElim | Contains utility functions for eliminating saturating arithmetic |
| CScalarValue | |
| CSerEnumInstance | |
| CSetHeaders | |
| CSetOfLocations | |
| CSideEffectOrdering | |
| CSideEffects | Determines whether an expression may have method or constructor invocations |
| CSimpleCallInfo | |
| CSimpleEnumInstance | An instance of a simple enum, e.g., X.A from enum X { A, B } |
| CSimpleInlineList | |
| CSimpleInlineWorkList | |
| CSimplifyBitwise | |
| CSimplifyComparisons | |
| CSimplifyControlFlow | |
| CSimplifyDefUse | |
| CSimplifyKey | |
| CSimplifyParsers | |
| CSimplifySelectCases | |
| CSimplifySelectList | |
| CSimplifySwitch | |
| CSingleArgumentSelect | |
| CSpecializationInfo | Describes how a parser or control is specialized |
| CSpecializationMap | Maintains a map from invocation to a SpecializationInfo object |
| CSpecialize | Specializes each Parser and Control with constant constructor arguments by substituting type arguments and constructor parameters |
| CSpecializeAll | Specializes each Parser and Control by substituting type arguments and constructor parameters |
| CSpecializeFunctions | Specializes each generic function by substituting type parameters |
| CSpecializeGenericFunctions | |
| CSpecializeGenericTypes | Specializes each generic type by substituting type parameters |
| CStackVariable | |
| CStackVariableHash | Class with hash function for StackVariable |
| CStaticAssert | |
| CStorageFactory | |
| CStorageLocation | Abstraction for something that is has a left value (variable, parameter) |
| CStorageMap | Maps a declaration to its associated storage |
| CStrengthReduction | |
| CStructInitializers | |
| CStructLocation | |
| CStructTypeReplacement | |
| CSubstituteParameters | |
| CSubstituteStructures | |
| CSwitchAddDefault | |
| CSymbolicArray | |
| CSymbolicBool | |
| CSymbolicEnum | |
| CSymbolicError | |
| CSymbolicException | |
| CSymbolicExtern | |
| CSymbolicHeader | |
| CSymbolicHeaderUnion | |
| CSymbolicInteger | |
| CSymbolicPacketIn | |
| CSymbolicStaticError | |
| CSymbolicStruct | |
| CSymbolicTuple | |
| CSymbolicValue | |
| CSymbolicValueFactory | |
| CSymbolicVarbit | |
| CSymbolicVoid | |
| CSymRenameMap | |
| CSynthesizeActions | |
| CTableApplySolver | |
| CTableHit | |
| CTableInsertions | |
| CTableKeyNames | |
| CTablesInActions | |
| CTablesInKeys | |
| CTagGlobalActions | |
| CToP4 | |
| CTupleLocation | |
| CTypeChecking | |
| CTypeConstraint | |
| CTypeConstraints | |
| ►CTypeInference | |
| CComparison | |
| CTypeMap | |
| CTypeOccursVisitor | |
| CTypeSpecialization | |
| CTypeSpecializationMap | |
| CTypeSubstitution | |
| CTypeSubstitutionVisitor | |
| CTypeUnification | |
| CTypeVariableSubstitution | |
| CTypeVariableSubstitutionVisitor | |
| CUniqueNames | |
| CUniqueParameters | |
| CUnnestSelectList | |
| ►CUnrollLoops | |
| Cloop_bounds_t | |
| CPolicy | |
| CUselessCasts | |
| CValidateMatchAnnotations | |
| CValidateParsedProgram | |
| CValidateTableProperties | |
| CValidateValueSets | |
| CValueMap | |
| CVisitedKey | The main class for parsers' states key for visited checking |
| CWithFieldsLocation | Base class for location sets that contain fields |
| ►NP4_14 | |
| CInlineActions | Special inliner which works directly on P4-14 representation |
| ►NP4Fmt | |
| CP4fmtOptions | |
| ►NP4Test | |
| CMidEnd | |
| CSkipControls | |
| ►NP4Tools | |
| ►NP4Smith | |
| ►NBMv2 | |
| CAbstractBMv2SmithTarget | |
| CBmv2PsaSmithTarget | |
| CBmv2V1modelSmithTarget | |
| ►NGeneric | |
| CAbstractGenericSmithTarget | |
| CGenericCoreSmithTarget | |
| ►NNic | |
| CAbstractNicSmithTarget | |
| CDpdkPnaSmithTarget | |
| ►NTofino | |
| CAbstractTofinoSmithTarget | |
| CTofinoTnaSmithTarget | |
| CConstraints | |
| CDeclarationGenerator | |
| CExpressionGenerator | |
| CGenerator | |
| CP4Scope | |
| CParserGenerator | |
| CProperties | |
| CRequirements | |
| CSmith | |
| CSmithTarget | |
| CStatementGenerator | |
| CTableGenerator | |
| CWordlist | |
| ►NP4Testgen | |
| ►NBmv2 | Inja |
| CAssertsParser | |
| CBmv2Concolic | |
| CBMv2Constants | |
| CBmv2TestBackend | |
| CBmv2TestFramework | Bmv2TestFramework provides common utility functions for BMv2-style test frameworks |
| CBmv2V1ModelActionProfile | |
| CBmv2V1ModelActionSelector | |
| CBmv2V1ModelCloneInfo | |
| CBmv2V1ModelCloneSpec | |
| CBmv2V1ModelCmdStepper | |
| CBMv2V1ModelCompilerResult | Extends the CompilerResult with information specific to the V1Model running on BMv2 |
| CBmv2V1ModelExprStepper | |
| CBmv2V1ModelMeterValue | |
| CBmv2V1ModelProgramInfo | |
| CBmv2V1ModelRegisterValue | |
| CBmv2V1ModelTableStepper | |
| CBmv2V1ModelTestgenTarget | |
| CIndexExpression | |
| CIndexMap | Readable and writable symbolic map, which maps indices to particular values |
| CLexer | |
| CMapDirectExterns | |
| CMetadata | Extracts information from the @testSpec to emit a Metadata test case |
| CMetadataCollection | |
| COptional | |
| CPropagateP4RuntimeTranslation | |
| CProtobuf | Extracts information from the @testSpec to emit a Protobuf test case |
| CProtobufIr | Extracts information from the @testSpec to emit a Protobuf IR test case |
| CProtobufIrTest | |
| CProtobufTest | |
| CPTF | Extracts information from the @testSpec to emit a PTF test case |
| CRange | |
| CRefersToParser | |
| CSTF | Extracts information from the @testSpec to emit a STF test case |
| CToken | |
| ►NEBPF | |
| CEBPFCmdStepper | |
| CEBPFConcolic | |
| CEBPFConstants | |
| CEBPFExprStepper | |
| CEBPFProgramInfo | |
| CEBPFTableStepper | |
| CEBPFTestBackend | |
| CEBPFTestgenTarget | |
| CSTF | Extracts information from the @testSpec to emit a STF test case |
| ►NPna | Inja |
| CMetadata | Extracts information from the @testSpec to emit a Metadata test case |
| CMetadataCollection | |
| COptional | |
| CPnaConstants | |
| CPnaDpdkActionProfile | |
| CPnaDpdkActionSelector | |
| CPnaDpdkCmdStepper | |
| CPnaDpdkConcolic | |
| CPnaDpdkExprStepper | |
| CPnaDpdkProgramInfo | |
| CPnaDpdkRegisterCondition | |
| CPnaDpdkRegisterValue | |
| CPnaDpdkTableStepper | |
| CPnaDpdkTestgenTarget | |
| CPnaSymbolicVars | Variabless are variables that can be controlled and set by P4Testgen |
| CPnaTestBackend | |
| CPTF | Extracts information from the @testSpec to emit a PTF test case |
| CRange | |
| CSharedPnaCmdStepper | |
| CSharedPnaExprStepper | |
| CSharedPnaProgramInfo | |
| ►CSharedPnaTableStepper | |
| CSharedPnaProperties | Shared PNA table properties |
| CAbstractStepper | |
| CAbstractTest | Type definitions for abstract tests |
| CActionArg | |
| CActionCall | |
| CCmdStepper | Implements small-step operational semantics for commands |
| CCommandVisitor | |
| CConcolic | |
| CConcolicMethodImpls | Encapsulates a set of concolic method implementations |
| CConcolicResolver | |
| ►CContinuation | |
| CBody | A continuation body is a list of commands |
| CGuard | |
| CParameter | |
| CPropertyUpdate | |
| CReturn | |
| CCoverableNodesScanner | |
| CDepthFirstSearch | |
| CExact | |
| ►CExecutionState | Represents state of execution after having reached a program point |
| CStackFrame | |
| ►CExprStepper | Implements small-step operational semantics for expressions |
| CExternMethodImpls | Encapsulates a set of extern method implementations |
| CPacketCursorAdvanceInfo | |
| CExternInfo | |
| CFinalState | Represents the final state after execution |
| CGreedyNodeSelection | |
| CLPM | |
| CPacket | |
| CPacketVars | |
| CProgramInfo | Stores target-specific information about a P4 program |
| CRandomBacktrack | |
| CSelectedBranches | Explores one path described by a list of branches |
| ►CSmallStepEvaluator | |
| CBranch | |
| CSymbolicExecutor | |
| CTableConfig | |
| CTableMatch | |
| CTableRule | |
| CTableStepper | Implements small-step operational semantics for tables |
| CTernary | |
| ►CTestBackEnd | |
| CTestInfo | |
| CTestBackendConfiguration | |
| CTestFramework | |
| CTestgen | This is main implementation of the P4Testgen tool |
| CTestgenCompilerResult | Extends the CompilerResult with the associated P4RuntimeApi |
| CTestgenOptions | Encapsulates and processes command-line options for P4Testgen |
| CTestgenTarget | |
| CTestgenUnimplemented | |
| CTestObject | |
| CTestSpec | |
| CVariableSubstitution | |
| ►NTableUtils | |
| CKeyProperties | KeyProperties define properties of table keys that are useful for execution |
| CTableProperties | Basic table properties that are set when initializing the TableStepper |
| ►NTraceEvents | This file defines explicit types of trace events extended from the generic trace class |
| CAssignmentStatement | Represents an assignment statement |
| CEmit | A field being emitted by a deparser |
| CExpression | A simple event that stores the provided expression |
| CExtractFailure | |
| CExtractSuccess | |
| CGeneric | A generic event that only takes in a string as label |
| CGenericDescription | |
| CIfStatementCondition | Represents an if statement condition |
| CMethodCall | Label dedicated to method call expression |
| CPacket | A packet that is either presented to a parser or emitted from a deparser |
| CParserStart | Marks the start of a parser |
| CParserState | Marks the entry into a parser state |
| CAbstractExecutionState | Represents state of execution after having reached a program point |
| CAbstractP4cTool | |
| CAbstractP4cToolOptions | |
| CAbstractRepCheckedNode | |
| ►CArchSpec | Specifies a canonical representation of the target pipeline as documented in P4 code |
| CArchMember | An ArchMember represents a construct in the pipe. It has a name and parameters |
| CCompileContext | A compilation context for P4Tools that provides a custom compiler configuration |
| CCompilerConfiguration | |
| CCompilerResult | |
| CCompilerTarget | Encapsulates the details of invoking the P4 compiler for a target device and architecture |
| CConvertStructExpr | |
| CConvertVarbits | |
| CExtendedCallGraph | |
| CFormatOptions | Defines common formatting options |
| CHSIndexToMember | The main class for finding non-concrete header stack indices |
| CInheritedCompilerOptionSpec | |
| CMaskBuilder | |
| CMidEnd | |
| CModel | |
| CNamespaceContext | Represents a stack of namespaces |
| CP4Constants | |
| CP4ProgramDCGCreator | The main class for building control flow DCG |
| CReachabilityEngine | |
| CReachabilityEngineState | The main data for reachability engine |
| CSmithOptions | |
| CSymbolicEnv | |
| CTaint | |
| CTaintPropagator | |
| ►CTarget | |
| CSpec | Specifies a target device and architecture by their names in lower case |
| CTraceEvent | An event in a trace of the execution of a P4 program |
| CUtils | General utility functions that are not present in the compiler framework |
| CZ3Solver | A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context |
| CZ3SolverAccessor | |
| CZ3Translator | Translates P4 expressions into Z3. Any variables encountered are declared to a Z3 instance |
| ►NP4V1 | |
| CActionProfile_Model | |
| CActionSelector_Model | |
| CAdjustLengths | |
| CAlgorithm_Model | |
| CCheckIfMultiEntryPoint | |
| CCloner_Model | |
| CCloneType_Model | |
| CComputeCallGraph | |
| CComputeTableCallGraph | |
| CControl_Model | |
| CConversionContext | |
| CConverter | |
| CCounter_Model | |
| CCounterOrMeter_Model | |
| CCounterType_Model | |
| CDeparser_Model | |
| CDetectDuplicates | |
| CDigestReceiver_Model | |
| CDirectCounter_Model | |
| CDirectMeter_Model | |
| CDiscoverStructure | |
| CExpressionConverter | |
| CExternConverter | |
| CFindRecirculated | |
| CFixExtracts | |
| CFixMultiEntryPoint | |
| CgetV1ModelVersion | |
| CHash_Model | |
| CInsertCompilerGeneratedStartState | |
| CMeter_Model | |
| CMeterType_Model | |
| CMoveIntrinsicMetadata | |
| CParser_Model | |
| CPrimitiveConverter | |
| CProgramStructure | Information about the structure of a P4-14 program, used to convert it to a P4-16 program |
| CRandom_Model | |
| CRegister_Model | |
| CRewriter | |
| CStandardMetadataType_Model | |
| CStatementConverter | |
| CSwitch_Model | |
| CTableAttributes_Model | |
| CTruncate | |
| CTypeConverter | |
| CV1Model | |
| CVerifyUpdate_Model | |
| ►NRTTI | |
| ►NDetail | |
| CIsType | |
| CToType | |
| ►Ndetail | |
| CTypeIdResolver | |
| CTypeIdResolver< T, std::void_t< decltype(T::static_typeId)> > | |
| CTypeNameHolder | |
| CBase | |
| Cenable_if_has_rtti | |
| Chas_rtti | |
| CTypeInfo | |
| ►Nstd | STL namespace |
| Chash< ClosedRange< Unit, Order > > | |
| Chash< cstring > | |
| Chash< HalfOpenRange< Unit, Order > > | |
| Chash< P4::ComputeDefUse::loc_t > | |
| Chash< P4::loc_t > | |
| Chash< P4::ProgramPoint > | |
| Chash< std::pair< T1, T2 > > | |
| Chash< std::tuple< Types... > > | |
| ►NTC | This file defines functions for the pass to generate the introspection file |
| CActionAttributes | |
| CActionParam | |
| CActionTranslationVisitorPNA | |
| CAnnotation | |
| CBackend | |
| CControlBodyTranslatorPNA | |
| ►CConvertToBackendIR | |
| CExternBlock | |
| CExternInstance | |
| CConvertToEBPFControlPNA | |
| CConvertToEBPFDeparserPNA | |
| CConvertToEBPFParserPNA | |
| CConvertToEbpfPipelineTC | |
| CConvertToEbpfPNA | |
| CCRC16ChecksumAlgorithmPNA | |
| CCRC32ChecksumAlgorithmPNA | |
| CCRCChecksumAlgorithmPNA | |
| CDeparserHdrEmitTranslatorPNA | |
| CEBPFChecksumPNA | |
| CEBPFControlPNA | |
| CEBPFCounterPNA | |
| CEBPFHashAlgorithmTypeFactoryPNA | |
| CEBPFInternetChecksumPNA | |
| CEBPFPnaParser | |
| CEBPFRegisterPNA | |
| CEBPFTablePNA | |
| CEBPFTablePNADirectCounterPropertyVisitor | |
| CExtern | |
| CExternAttributes | |
| CExternInstancesAttributes | |
| CIngressDeparserPNA | |
| CInspectPnaProgram | |
| CInternetChecksumAlgorithmPNA | |
| CIntrospectionGenerator | This pass generates introspection JSON into user specified file |
| CIntrospectionInfo | |
| CKeyFieldAttributes | |
| CMidEnd | |
| CParsePnaArchitecture | |
| CParseTCAnnotations | |
| CPNAArchTC | |
| CPNAEbpfGenerator | |
| CPNAErrorCodesGen | |
| CPnaProgramStructure | |
| CPnaStateTranslationVisitor | |
| CTableAttributes | |
| CTCIngressPipelinePNA | |
| CTCOptions | |
| ►NTest | |
| ►NArithmTest | |
| CSaturationTransform | The main class for saturation transformation |
| CZ3SolverAddSat01 | |
| CZ3SolverAddSat02 | |
| CZ3SolverAddSat03 | |
| CZ3SolverAddSat04 | |
| CZ3SolverAddSat05 | |
| CZ3SolverSubSat01 | |
| CZ3SolverSubSat02 | |
| CZ3SolverSubSat03 | |
| CZ3SolverSubSat04 | |
| CZ3SolverSubSat05 | |
| ►NZ3Test | |
| CZ3SolverAdd | |
| CZ3SolverBAnd | |
| CZ3SolverBOR | |
| CZ3SolverBXor | |
| CZ3SolverCastBit2Bool | |
| CZ3SolverCastBit2EqualBit | |
| CZ3SolverCastBit2LargerBit | |
| CZ3SolverCastBit2LessBit | |
| CZ3SolverCastBool2Bit | |
| CZ3SolverCastInAssignment | |
| CZ3SolverComplement | |
| CZ3SolverConc | |
| CZ3SolverITE | |
| CZ3SolverMod | |
| CZ3SolverMult | |
| CZ3SolverShl | |
| CZ3SolverShrS | |
| CZ3SolverShrU | |
| CZ3SolverSub | |
| CFormatTest | Helper methods to build configurations for Format Tests |
| CNodeFinder | |
| CP4AssertsParserTest | |
| CP4CReachability | |
| CP4ReachabilityOptions | |
| CP4RuntimeApiTest | Helper methods to build configurations for P4RuntimeApi Tests |
| CP4SmithForInLoopTest | |
| CP4SmithForLoopTest | |
| CP4TestOptions | |
| CP4ToolsTest | GTest for P4 Tools tests |
| CP4ToolsTestCase | Encapsulates functionality for running the front- and mid-ends of the compiler in a test |
| CPTFTest | Helper methods to build configurations for PTF Tests |
| CSmallStepTest | |
| CSTFTest | Helper methods to build configurations for STF Tests |
| CSymbolicConverter | Converts IR::Member into symbolic variables |
| CTaintTest | Helper methods to build configurations for Taint Tests |
| CZ3SolverSatisfiabilityChecks | |
| CZ3SolverSatTests | |
| CZ3SolverTest | |
| CZ3SolverTests | |
| ►NUBPF | |
| CAlgorithm_Model | |
| CEnumOn32Bits | |
| CHash_Model | |
| CMidEnd | |
| COutHeaderSize | |
| CPipeline_Model | |
| CRegister_Model | |
| CUBPFBoolType | |
| CUbpfCodeBuilder | |
| CUBPFControl | |
| CUBPFControlBodyTranslator | |
| CUBPFDeparser | |
| CUBPFDeparserTranslationVisitor | |
| CUBPFEnumType | |
| CUBPFErrorType | |
| CUBPFExternType | |
| CUBPFListType | |
| ►CUBPFModel | |
| CgetUBPFModelVersion | |
| CUBPFParser | |
| CUBPFParserState | |
| CUBPFProgram | |
| CUBPFRegister | |
| CUBPFScalarType | |
| CUBPFStructType | |
| CUBPFTable | |
| CUBPFTableBase | |
| CUbpfTarget | |
| CUBPFTypeFactory | |
| ►NUtil | |
| ►NDetail | |
| CFloatHasher | |
| CIntegerHasher | |
| CStdHasher | |
| CTupleHasher | |
| CTupleHasher< 0, Types... > | |
| CAsEnumerator | Casts each element |
| CBitRange | |
| CComment | |
| CCompilationError | |
| CCompilerBug | This class indicates a bug in the compiler |
| CCompilerUnimplemented | This class indicates an unimplemented feature in the compiler |
| CConcatEnumerator | Concatenation |
| CContainerType | |
| CEmptyEnumerator | Always empty iterator (equivalent to end()) |
| CEnumerator | Type-erased Enumerator interface |
| CEnumeratorHandle | |
| CFilterEnumerator | |
| Chas_toString | SFINAE helper to check if given class has a toString method |
| Chas_toString< T, std::void_t< decltype(std::declval< T >().toString())> > | |
| CHash | |
| CHasher | |
| CHasher< big_int > | |
| CHasher< bool > | |
| CHasher< char > | |
| CHasher< ClosedRange< Unit, Order > > | |
| CHasher< cstring > | |
| CHasher< double > | |
| CHasher< float > | |
| CHasher< HalfOpenRange< Unit, Order > > | |
| CHasher< IR::ID > | |
| CHasher< P4::ProgramPoint > | |
| CHasher< signed char > | |
| CHasher< signed int > | |
| CHasher< signed long > | |
| CHasher< signed long long > | |
| CHasher< signed short > | |
| CHasher< std::pair< T1, T2 > > | |
| CHasher< std::shared_ptr< T > > | |
| CHasher< std::string > | |
| CHasher< std::string_view > | |
| CHasher< std::tuple< Types... > > | |
| CHasher< std::unique_ptr< T > > | |
| CHasher< T * > | |
| CHasher< unsigned char > | |
| CHasher< unsigned int > | |
| CHasher< unsigned long > | |
| CHasher< unsigned long long > | |
| CHasher< unsigned short > | |
| CIHasSourceInfo | |
| CIJson | |
| CInputSources | |
| Citerator_range | |
| CIteratorEnumerator | A generic iterator returning elements of type T |
| CJsonArray | |
| CJsonObject | |
| CJsonValue | |
| CMapEnumerator | Transforms all elements from type T to type S |
| CNamedSymbol | |
| CNamespace | |
| CObject | |
| ►COptions | |
| COption | |
| CP4CExceptionBase | |
| CProgramStructure | |
| CScopedTimer | |
| CScopedTimerCtx | |
| CSimpleType | |
| CSingleEnumerator | |
| CSourceCodeBuilder | |
| CSourceFileLine | |
| CSourceInfo | |
| CSourcePosition | |
| CTimerEntry | |
| ►NV1 | |
| CV1ParserDriver | A ParserDriver that can parse P4-14 programs |
| CAbstractSolver | Provides a higher-level interface for an SMT solver |
| Calloc_trace_cb_t | |
| CAllocTrace | |
| CAutoCompileContext | |
| CAutoStdioInputStream | |
| Cbacktrace_exception | |
| ►CBacktrack | |
| Ctrigger | |
| CBaseCompileContext | |
| Cbasic_nullbuf | |
| Cbitranges | |
| ►Cbitvec | |
| Cconst_bitref | |
| Ccopy_bitref | |
| Cnonconst_bitref | |
| Cbpf_elf_map | |
| Cbpf_map | |
| Cbpf_table | A helper structure used to describe attributes |
| CCheckHeaderTypes | |
| Cclone_session_entry | |
| CClosedRange | |
| CCompileContextStack | |
| CCompilerOptions | |
| ►CControlFlowVisitor | |
| Cflow_join_info_t | |
| CGuardGlobal | RAII class to ensure global key is only used in one place |
| CSaveGlobal | RAII class to save and restore one or more global keys |
| CSetupJoinPoints | |
| Ccstring | |
| CDefaultP4CConfiguration | |
| Cdp_packet | |
| CDpdkProgramStructure | Collect information related to P4 programs targeting dpdk |
| CDump | |
| CDynamicVisitor | |
| CEbpfOptions | |
| CErrorCatalog | |
| CErrorMessage | |
| CErrorReporter | |
| CErrorType | |
| CexprUses | |
| CHalfOpenRange | |
| Chas_dbprint | |
| Chas_dbprint< T, std::void_t< decltype(std::declval< T >().dbprint(std::declval< std::ostream & >()))> > | |
| ►Chash_vector_base | |
| Cinternal | |
| Clookup_cache | |
| ChasSideEffects | |
| ChdrFieldInfo | |
| CHeaderTypeMaxLengthCalculator | |
| Chex | |
| Chexvec | |
| Chvec_map | |
| Chvec_set | |
| CICastable | |
| CICompileContext | |
| CIHasDbPrint | |
| Cindent_t | |
| CInlineControlFlow | |
| CInspectDpdkProgram | |
| CInspector | |
| CIterKeys | |
| CIterValues | |
| CJsonBoolean | |
| CJsonData | |
| CJSONGenerator | |
| CJSONLoader | |
| CJsonNull | |
| CJsonNumber | |
| CJsonObject | |
| CJsonString | |
| CJsonVector | |
| CLogAbbrev | |
| CLTBitMatrix | |
| CMapForKey | |
| Cmatch_t | |
| CModifier | |
| Cn4 | |
| CNameGateways | |
| COnBacktrack | |
| Conullstream | |
| ►Cordered_map | |
| Cvalue_compare | |
| ►Cordered_set | |
| Csorted_iterator | |
| CP4CConfiguration | |
| CP4CContext | |
| CP4CContextWithOptions | |
| Cp4tc_ext_bpf_params | |
| Cp4tc_ext_bpf_val | |
| Cp4tc_ext_csum_params | |
| Cp4tc_table_entry_act_bpf_params__local | |
| Cp4tc_table_entry_create_bpf_params__local | |
| CP4TestOptions | |
| CP4WriteContext | |
| CParseDpdkArchitecture | |
| CParserErrorMessage | |
| CParserOptions | |
| CPassIf | |
| ►CPassManager | |
| CVisitorRef | |
| CPassRepeated | |
| CPassRepeatUntil | |
| ►CPattern | |
| CMatch | |
| CPauseTrace | |
| Cpcap_pkt | |
| Cpna_global_metadata | |
| Cpna_main_input_metadata_t | |
| Cpna_main_output_metadata_t | |
| Cpna_main_parser_input_metadata_t | |
| Cprimitive_info_t | |
| Cpsa_egress_deparser_input_metadata_t | |
| Cpsa_egress_input_metadata_t | |
| Cpsa_egress_output_metadata_t | |
| Cpsa_egress_parser_input_metadata_t | |
| Cpsa_global_metadata | |
| Cpsa_ingress_input_metadata_t | |
| Cpsa_ingress_output_metadata_t | |
| Cpsa_ingress_parser_input_metadata_t | INGRESS data types |
| CPushContext | |
| CRangeIter | |
| CRefCheckContext | |
| Csafe_vector | |
| Csk_buff | Simple descriptor which replaces the kernel sk_buff structure |
| CSplitFlowVisit | |
| CSplitFlowVisit_base | |
| CSplitFlowVisitVector | |
| Cstring_map | |
| ►CStringRef | |
| CSplit | |
| CSymBitMatrix | |
| CTransform | |
| ►CTypeCheck | |
| CAssignActionArgTypes | |
| CAssignInitialTypes | |
| CInferActionArgsBottomUp | |
| CInferActionArgsTopDown | |
| CInferExpressionsBottomUp | Bottom up type inferencing – set the types of expression nodes based on operands |
| CInferExpressionsTopDown | Top down type inferencing – set the type of expression nodes based on their uses |
| CMakeImplicitCastsExplicit | |
| CUnparsedConstant | |
| CUT_hash_bucket | |
| CUT_hash_handle | |
| CUT_hash_table | |
| CVisitFunctor | |
| ►CVisitor | |
| CChangeTracker | Assists visitors in traversing the IR |
| Cprofile_t | |
| CTracker | Assists visitors in traversing the IR |
| CVisitor_Context | |