P4C
The P4 Compiler
Loading...
Searching...
No Matches
all_pragmas.h
1
19#ifndef BACKENDS_TOFINO_BF_P4C_COMMON_PRAGMA_ALL_PRAGMAS_H_
20#define BACKENDS_TOFINO_BF_P4C_COMMON_PRAGMA_ALL_PRAGMAS_H_
21
22#include "backends/tofino/bf-p4c/common/pragma/pragma.h"
23#include "backends/tofino/bf-p4c/parde/clot/pragma/do_not_use_clot.h"
24#include "backends/tofino/bf-p4c/phv/pragma/phv_pragmas.h"
25
26#define DEFINE_PRAGMA_CLASS(cname) \
27 class cname { \
28 public: \
29 static const char *name; \
30 static const char *description; \
31 static const char *help; \
32 }
33
34DEFINE_PRAGMA_CLASS(PragmaAdjustByteCount);
35DEFINE_PRAGMA_CLASS(PragmaAlpm);
36DEFINE_PRAGMA_CLASS(PragmaAlpmPartitions);
37DEFINE_PRAGMA_CLASS(PragmaAlpmSubtreePartitions);
38DEFINE_PRAGMA_CLASS(PragmaAtcamPartitions);
39DEFINE_PRAGMA_CLASS(PragmaAtcamPartitionIndex);
40DEFINE_PRAGMA_CLASS(PragmaAlpmAtcamExcludeFieldMsbs);
41DEFINE_PRAGMA_CLASS(PragmaAutoInitMetadata);
42DEFINE_PRAGMA_CLASS(PragmaQuickPhvAlloc);
43DEFINE_PRAGMA_CLASS(PragmaParserBandwidthOpt);
44DEFINE_PRAGMA_CLASS(PragmaParserGroupMonogress);
45DEFINE_PRAGMA_CLASS(PragmaAllowPOVonMocha);
46DEFINE_PRAGMA_CLASS(PragmaPrioritizeARAinits);
47DEFINE_PRAGMA_CLASS(PragmaCalculatedFieldUpdateLocation);
48DEFINE_PRAGMA_CLASS(PragmaChainAddress);
49DEFINE_PRAGMA_CLASS(PragmaChainTotalSize);
50DEFINE_PRAGMA_CLASS(PragmaCommandLine);
51DEFINE_PRAGMA_CLASS(PragmaCritical);
52DEFINE_PRAGMA_CLASS(PragmaDefaultPortmap);
53DEFINE_PRAGMA_CLASS(PragmaDisableAtomicModify);
54DEFINE_PRAGMA_CLASS(PragmaDisableI2EReservedDropImplementation);
55DEFINE_PRAGMA_CLASS(PragmaDisableEgressMirrorIOSelectInitialization);
56DEFINE_PRAGMA_CLASS(PragmaDontTranslateExternMethod);
57DEFINE_PRAGMA_CLASS(PragmaDoNotBridge);
58DEFINE_PRAGMA_CLASS(PragmaDynamicTableKeyMasks);
59DEFINE_PRAGMA_CLASS(PragmaEntriesWithRanges);
60DEFINE_PRAGMA_CLASS(PragmaEgressIntrinsicMetadataOpt);
61DEFINE_PRAGMA_CLASS(PragmaFieldListFieldSlice);
62DEFINE_PRAGMA_CLASS(PragmaFlexible);
63DEFINE_PRAGMA_CLASS(PragmaForceImmediate);
64DEFINE_PRAGMA_CLASS(PragmaForceShift);
65DEFINE_PRAGMA_CLASS(PragmaGFMParityEnable);
66DEFINE_PRAGMA_CLASS(PragmaGhostMetadata);
67DEFINE_PRAGMA_CLASS(PragmaIdletimeInterval);
68DEFINE_PRAGMA_CLASS(PragmaIdletimePerFlow);
69DEFINE_PRAGMA_CLASS(PragmaIdletimePrecision);
70DEFINE_PRAGMA_CLASS(PragmaIdletimeTwoWayNotification);
71DEFINE_PRAGMA_CLASS(PragmaImmediate);
72DEFINE_PRAGMA_CLASS(PragmaInHash);
73DEFINE_PRAGMA_CLASS(PragmaIntrinsicMetadata);
74DEFINE_PRAGMA_CLASS(PragmaIRContextBasedDebugLogging);
75DEFINE_PRAGMA_CLASS(PragmaIgnoreTableDependency);
76DEFINE_PRAGMA_CLASS(PragmaIxbarGroupNum);
77DEFINE_PRAGMA_CLASS(PragmaLrtEnable);
78DEFINE_PRAGMA_CLASS(PragmaLrtScale);
79DEFINE_PRAGMA_CLASS(PragmaMaxActions);
80DEFINE_PRAGMA_CLASS(PragmaMaxLoopDepth);
81DEFINE_PRAGMA_CLASS(PragmaMinWidth);
82DEFINE_PRAGMA_CLASS(PragmaMode);
83DEFINE_PRAGMA_CLASS(PragmaDontMerge);
84DEFINE_PRAGMA_CLASS(PragmaNotExtractedInEgress);
85DEFINE_PRAGMA_CLASS(PragmaNoGatewayConversion);
86DEFINE_PRAGMA_CLASS(PragmaNoVersioning);
87DEFINE_PRAGMA_CLASS(PragmaPack);
88DEFINE_PRAGMA_CLASS(PragmaPadding);
89DEFINE_PRAGMA_CLASS(PragmaPacketEntry);
90DEFINE_PRAGMA_CLASS(PragmaPhase0);
91DEFINE_PRAGMA_CLASS(PragmaPhvLimit);
92DEFINE_PRAGMA_CLASS(PragmaOverridePhase0TableName);
93DEFINE_PRAGMA_CLASS(PragmaOverridePhase0ActionName);
94DEFINE_PRAGMA_CLASS(PragmaPlacementPriority);
95DEFINE_PRAGMA_CLASS(PragmaPreColor);
96DEFINE_PRAGMA_CLASS(PragmaProxyHashAlgorithm);
97DEFINE_PRAGMA_CLASS(PragmaProxyHashWidth);
98DEFINE_PRAGMA_CLASS(PragmaRandomSeed);
99DEFINE_PRAGMA_CLASS(PragmaReductionOrGroup);
100DEFINE_PRAGMA_CLASS(PragmaReg);
101DEFINE_PRAGMA_CLASS(PragmaResidualChecksumParserUpdateLocation);
102DEFINE_PRAGMA_CLASS(PragmaSelectorMaxGroupSize);
103DEFINE_PRAGMA_CLASS(PragmaSelectorNumMaxGroups);
104DEFINE_PRAGMA_CLASS(PragmaSelectorEnableScramble);
105DEFINE_PRAGMA_CLASS(PragmaSymmetric);
106DEFINE_PRAGMA_CLASS(PragmaStage);
107DEFINE_PRAGMA_CLASS(PragmaTerminateParsing);
108DEFINE_PRAGMA_CLASS(PragmaDontUnroll);
109DEFINE_PRAGMA_CLASS(PragmaTernary);
110DEFINE_PRAGMA_CLASS(PragmaUseHashAction);
111DEFINE_PRAGMA_CLASS(PragmaUserAnnotation);
112DEFINE_PRAGMA_CLASS(PragmaWays);
113DEFINE_PRAGMA_CLASS(PragmaNoFieldInits);
114DEFINE_PRAGMA_CLASS(PragmaSeparateGateway);
115DEFINE_PRAGMA_CLASS(PragmaBackwardCompatible);
116DEFINE_PRAGMA_CLASS(PragmaHashMask);
117// meter
118DEFINE_PRAGMA_CLASS(PragmaRed);
119DEFINE_PRAGMA_CLASS(PragmaYellow);
120DEFINE_PRAGMA_CLASS(PragmaGreen);
121DEFINE_PRAGMA_CLASS(PragmaMeterProfile);
122DEFINE_PRAGMA_CLASS(PragmaTrueEgressAccounting);
123// p4testgen
124DEFINE_PRAGMA_CLASS(PragmaHeaderChecksum);
125DEFINE_PRAGMA_CLASS(PragmaPayloadChecksum);
126
127DEFINE_PRAGMA_CLASS(PragmaNotParsed);
128DEFINE_PRAGMA_CLASS(PragmaNotDeparsed);
129DEFINE_PRAGMA_CLASS(PragmaDisableDeparseZero);
130
131// internal annotations to be removed
132DEFINE_PRAGMA_CLASS(PragmaActionSelectorHashFieldCalcName);
133DEFINE_PRAGMA_CLASS(PragmaActionSelectorHashFieldListName);
134DEFINE_PRAGMA_CLASS(PragmaAlgorithm);
135DEFINE_PRAGMA_CLASS(PragmaActionSelectorHashFieldCalcOutputWidth);
136
137/*
138DEFINE_PRAGMA_CLASS(Pragma);
139*/
140
141#endif /* BACKENDS_TOFINO_BF_P4C_COMMON_PRAGMA_ALL_PRAGMAS_H_ */