[clang-tools-extra] r370908 - [Driver] Use shared singleton instance of DriverOptTable
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 4 07:26:28 PDT 2019
Author: ibiryukov
Date: Wed Sep 4 07:26:28 2019
New Revision: 370908
URL: http://llvm.org/viewvc/llvm-project?rev=370908&view=rev
Log:
[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
Modified:
clang-tools-extra/trunk/modularize/Modularize.cpp
Modified: clang-tools-extra/trunk/modularize/Modularize.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/Modularize.cpp?rev=370908&r1=370907&r2=370908&view=diff
==============================================================================
--- clang-tools-extra/trunk/modularize/Modularize.cpp (original)
+++ clang-tools-extra/trunk/modularize/Modularize.cpp Wed Sep 4 07:26:28 2019
@@ -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());
}
More information about the cfe-commits
mailing list