33 explicit CompilerOptions(std::string_view defaultMessage =
"Compile a P4 program");
37 bool excludeFrontendPasses =
false;
38 bool listFrontendPasses =
false;
41 bool excludeMidendPasses =
false;
42 bool listMidendPasses =
false;
45 bool excludeBackendPasses =
false;
48 std::vector<cstring> passesToExcludeFrontend;
51 std::vector<cstring> passesToExcludeMidend;
54 std::vector<cstring> passesToExcludeBackend;
56 std::filesystem::path dumpJsonFile;
58 bool debugJson =
false;
62 cstring p4RuntimeFile =
nullptr;
65 cstring p4RuntimeEntriesFile =
nullptr;
67 cstring p4RuntimeFiles =
nullptr;
70 cstring p4RuntimeEntriesFiles =
nullptr;
74 std::filesystem::path prettyPrintFile;
80 bool loopsUnrolling =
false;
83 int optimizationLevel = 1;
84 bool optimizeDebug =
false;
85 bool optimizeSize =
false;
87 virtual bool enable_intrinsic_metadata_fix();