summaryrefslogtreecommitdiff
path: root/lld/COFF
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2023-01-30 15:28:10 -0800
committerFangrui Song <i@maskray.me>2023-01-30 15:28:10 -0800
commit053479118f18e0407f6b91304ebf19a8a735ec1f (patch)
treefdd7b498685d49fe53ec1f30afb4c607978c03cc /lld/COFF
parentea7695dcca53ca7694e347224b68cbdefbc3cc5f (diff)
downloadllvm-053479118f18e0407f6b91304ebf19a8a735ec1f.tar.gz
lld/COFF: simplify startswith+substr
Diffstat (limited to 'lld/COFF')
-rw-r--r--lld/COFF/Driver.cpp23
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);
}