diff options
author | Fangrui Song <i@maskray.me> | 2023-01-30 15:28:10 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2023-01-30 15:28:10 -0800 |
commit | 053479118f18e0407f6b91304ebf19a8a735ec1f (patch) | |
tree | fdd7b498685d49fe53ec1f30afb4c607978c03cc /lld/COFF | |
parent | ea7695dcca53ca7694e347224b68cbdefbc3cc5f (diff) | |
download | llvm-053479118f18e0407f6b91304ebf19a8a735ec1f.tar.gz |
lld/COFF: simplify startswith+substr
Diffstat (limited to 'lld/COFF')
-rw-r--r-- | lld/COFF/Driver.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index a927d414e7b1..bd859140209b 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -1765,20 +1765,17 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) { ltoDebugPM = true; } else if (s == "noltodebugpassmanager") { ltoDebugPM = false; - } else if (s.startswith("lldlto=")) { - StringRef optLevel = s.substr(7); - if (optLevel.getAsInteger(10, config->ltoo) || config->ltoo > 3) - error("/opt:lldlto: invalid optimization level: " + optLevel); - } else if (s.startswith("lldltojobs=")) { - StringRef jobs = s.substr(11); - if (!get_threadpool_strategy(jobs)) - error("/opt:lldltojobs: invalid job count: " + jobs); - config->thinLTOJobs = jobs.str(); - } else if (s.startswith("lldltopartitions=")) { - StringRef n = s.substr(17); - if (n.getAsInteger(10, config->ltoPartitions) || + } else if (s.consume_front("lldlto=")) { + if (s.getAsInteger(10, config->ltoo) || config->ltoo > 3) + error("/opt:lldlto: invalid optimization level: " + s); + } else if (s.consume_front("lldltojobs=")) { + if (!get_threadpool_strategy(s)) + error("/opt:lldltojobs: invalid job count: " + s); + config->thinLTOJobs = s.str(); + } else if (s.consume_front("lldltopartitions=")) { + if (s.getAsInteger(10, config->ltoPartitions) || config->ltoPartitions == 0) - error("/opt:lldltopartitions: invalid partition count: " + n); + error("/opt:lldltopartitions: invalid partition count: " + s); } else if (s != "lbr" && s != "nolbr") error("/opt: unknown option: " + s); } |