aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/CommandFlags.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/lib/CodeGen/CommandFlags.cpp')
-rw-r--r--backend/lib/CodeGen/CommandFlags.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/backend/lib/CodeGen/CommandFlags.cpp b/backend/lib/CodeGen/CommandFlags.cpp
index dfbaadc..2a659eb 100644
--- a/backend/lib/CodeGen/CommandFlags.cpp
+++ b/backend/lib/CodeGen/CommandFlags.cpp
@@ -148,6 +148,16 @@ Expected<CodeGenFileType> parseCodeGenFileType(std::string_view Value) {
return makeUnexpected(ErrorCode::InvalidInvocation, "unknown file type");
}
+Expected<GlobalISelAbortMode> parseGlobalISelAbortMode(std::string_view Value) {
+ if (Value == "0")
+ return GlobalISelAbortMode::Disable;
+ if (Value == "1")
+ return GlobalISelAbortMode::Enable;
+ if (Value == "2")
+ return GlobalISelAbortMode::DisableWithDiagnostic;
+ return makeUnexpected(ErrorCode::InvalidInvocation, "-global-isel-abort requires 0, 1, or 2");
+}
+
Expected<bool> parseCodeGenCommandFlag(std::span<const std::string_view> Arguments,
std::size_t &Index, CodeGenCommandFlags &Flags) {
const std::string_view Argument = Arguments[Index];