|
bool | loadIRFromJson = false |
|
bool | parseOnly = false |
|
bool | validateOnly = false |
|
cstring | arch = nullptr |
|
bool | debugJson = false |
|
std::filesystem::path | dumpJsonFile |
|
bool | excludeBackendPasses = false |
|
bool | excludeFrontendPasses = false |
|
bool | excludeMidendPasses = false |
|
bool | listFrontendPasses = false |
|
bool | listMidendPasses = false |
|
bool | loopsUnrolling = false |
|
bool | ndebug = false |
|
int | optimizationLevel = 1 |
|
bool | optimizeDebug = false |
|
bool | optimizeSize = false |
|
cstring | p4RuntimeEntriesFile = nullptr |
|
cstring | p4RuntimeEntriesFiles = nullptr |
|
cstring | p4RuntimeFile = nullptr |
|
cstring | p4RuntimeFiles = nullptr |
|
P4::P4RuntimeFormat | p4RuntimeFormat = P4::P4RuntimeFormat::BINARY |
|
std::vector< cstring > | passesToExcludeBackend |
|
std::vector< cstring > | passesToExcludeFrontend |
|
std::vector< cstring > | passesToExcludeMidend |
|
std::filesystem::path | prettyPrintFile |
|
cstring | target = nullptr |
|
cstring | compilerVersion |
| Compiler version.
|
|
bool | doNotCompile = false |
| if true preprocess only
|
|
bool | doNotPreprocess = false |
| if true skip preprocess
|
|
std::filesystem::path | dumpFolder = "." |
| debugging dumps of programs written in this folder
|
|
cstring | exe_name |
| Name of executable that is being run.
|
|
std::filesystem::path | file |
| file to compile (- for stdin)
|
|
FrontendVersion | langVersion = FrontendVersion::P4_16 |
| Which language to compile.
|
|
bool | noIncludes = false |
|
bool | optimizeParserInlining = false |
| If false, optimization of callee parsers (subparsers) inlining is disabled.
|
|
cstring | preprocessor_options = cstring::empty |
| options to pass to preprocessor
|
|
std::vector< cstring > | top4 |
| substrings matched against pass names
|
|
|
enum class | FrontendVersion { P4_14
, P4_16
} |
|
using | PreprocessorResult = std::unique_ptr<FILE, decltype(&closeFile)> |
| Records the result of the preprocessor.
|
|
enum | OptionFlags { Default = 0
, Hide = 1 << 0
, OptionalArgument = 1 << 1
} |
|
using | OptionProcessor = std::function<bool(const char *)> |
|
| CompilerOptions (std::string_view defaultMessage="Compile a P4 program") |
|
virtual bool | enable_intrinsic_metadata_fix () |
|
| ParserOptions (std::string_view defaultMessage="Parse a P4 program") |
|
DebugHook | getDebugHook () const |
|
const char * | getIncludePath () const override |
| Return target specific include path.
|
|
bool | isAnnotationDisabled (const IR::Annotation *a) const |
| Check whether this particular annotation was disabled.
|
|
bool | isv1 () const |
| True if we are compiling a P4 v1.0 or v1.1 program.
|
|
std::optional< ParserOptions::PreprocessorResult > | preprocess () const |
| Returns the output of the preprocessor.
|
|
std::vector< const char * > * | process (int argc, char *const argv[]) override |
|
bool | searchForIncludePath (const char *&includePathOut, std::vector< cstring > relativePaths, const char *) |
|
void | setInputFile () |
| Expect that the only remaining argument is the input file.
|
|
cstring | getBinaryName () |
|
cstring | getBuildDate () |
|
cstring | getCompileCommand () |
|
virtual void | usage () |
|
static void | closeFile (FILE *file) |
| Tries to close the input stream associated with the result.
|
|
bool | validateOptions () const override |
|
void | dumpPass (const char *manager, unsigned seq, const char *pass, const IR::Node *node) const |
|
virtual std::unique_ptr< ToP4 > | getToP4 (std::ostream *, bool, std::filesystem::path) const |
|
| Options (std::string_view message) |
|
void | registerOption (const char *option, const char *argName, OptionProcessor processor, const char *description, OptionFlags flags=OptionFlags::Default) |
|
void | registerUsage (const char *msg) |
|
void | setOutStream (std::ostream *out) |
|
std::vector< const char * > | additionalUsage |
|
const char * | binaryName |
|
cstring | buildDate |
|
bool | collectUnknownOptions = false |
|
cstring | compileCommand |
|
cstring | message |
|
std::vector< cstring > | optionOrder |
|
std::map< cstring, const Option * > | options |
|
std::ostream * | outStream = &std::cerr |
|
std::vector< const char * > | remainingOptions |
|