summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/modularize/Modularize.cpp
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2019-09-04 14:26:28 +0000
committerIlya Biryukov <ibiryukov@google.com>2019-09-04 14:26:28 +0000
commit433927595dde3821c76b33725aab8ccd472a5137 (patch)
treec43b08da79c34b273d3ddc64a1e0d809c68d64c2 /clang-tools-extra/modularize/Modularize.cpp
parentcbf1f3b771c8c0e0858deafe5f9457fb838ff2c2 (diff)
downloadbcm5719-llvm-433927595dde3821c76b33725aab8ccd472a5137.tar.gz
bcm5719-llvm-433927595dde3821c76b33725aab8ccd472a5137.zip
[Driver] Use shared singleton instance of DriverOptTable
Summary: This significantly reduces the time required to run clangd tests, by ~10%. Should also have an effect on other tests that run command-line parsing multiple times inside a single invocation. Reviewers: gribozavr, sammccall Reviewed By: sammccall Subscribers: kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67163 llvm-svn: 370908
Diffstat (limited to 'clang-tools-extra/modularize/Modularize.cpp')
-rw-r--r--clang-tools-extra/modularize/Modularize.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/clang-tools-extra/modularize/Modularize.cpp b/clang-tools-extra/modularize/Modularize.cpp
index e4bbb04d358..1905fdf4e2a 100644
--- a/clang-tools-extra/modularize/Modularize.cpp
+++ b/clang-tools-extra/modularize/Modularize.cpp
@@ -337,14 +337,13 @@ std::string CommandLine;
// Helper function for finding the input file in an arguments list.
static std::string findInputFile(const CommandLineArguments &CLArgs) {
- std::unique_ptr<OptTable> Opts(createDriverOptTable());
const unsigned IncludedFlagsBitmask = options::CC1Option;
unsigned MissingArgIndex, MissingArgCount;
SmallVector<const char *, 256> Argv;
for (auto I = CLArgs.begin(), E = CLArgs.end(); I != E; ++I)
Argv.push_back(I->c_str());
- InputArgList Args = Opts->ParseArgs(Argv, MissingArgIndex, MissingArgCount,
- IncludedFlagsBitmask);
+ InputArgList Args = getDriverOptTable().ParseArgs(
+ Argv, MissingArgIndex, MissingArgCount, IncludedFlagsBitmask);
std::vector<std::string> Inputs = Args.getAllArgValues(OPT_INPUT);
return ModularizeUtilities::getCanonicalPath(Inputs.back());
}
OpenPOWER on IntegriCloud