diff options
| author | Ilya Biryukov <ibiryukov@google.com> | 2019-09-04 14:26:28 +0000 |
|---|---|---|
| committer | Ilya Biryukov <ibiryukov@google.com> | 2019-09-04 14:26:28 +0000 |
| commit | 433927595dde3821c76b33725aab8ccd472a5137 (patch) | |
| tree | c43b08da79c34b273d3ddc64a1e0d809c68d64c2 /clang-tools-extra/modularize/Modularize.cpp | |
| parent | cbf1f3b771c8c0e0858deafe5f9457fb838ff2c2 (diff) | |
| download | bcm5719-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.cpp | 5 |
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()); } |

