llvm-project/clang/lib/Frontend
Justin Lebar 5e83dfedb8 Switch SmallSetVector to use DenseSet when it overflows its inline space.
Summary:
SetVector already used DenseSet, but SmallSetVector used std::set.  This
leads to surprising performance differences.  Moreover, it means that
the set of key types accepted by SetVector and SmallSetVector are
quite different!

In order to make this change, we had to convert some callsites that used
SmallSetVector<std::string, N> to use SmallSetVector<CachedHashString, N>
instead.

Reviewers: timshen

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D25648

llvm-svn: 284887
2016-10-21 21:45:01 +00:00
..
Rewrite Use StringRef for MemoryBuffer identifier API (NFC) 2016-10-01 16:38:28 +00:00
ASTConsumers.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
ASTMerge.cpp [Frontend] Make the memory management of FrontendAction pointers explicit by using unique_ptr. 2016-02-07 19:28:36 +00:00
ASTUnit.cpp C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
CMakeLists.txt clangFrontend: Make intrinsics_gen optional for standalone build. 2016-06-02 20:24:07 +00:00
CacheTokens.cpp Fix the build with MSVC 2013 after r283856 2016-10-11 17:24:09 +00:00
ChainedDiagnosticConsumer.cpp
ChainedIncludesSource.cpp Refactor to remove the assumption that we know the name of the module we're emitting at the point when we create a PCHGenerator (with the C++ modules TS, we find that out part way through parsing the input). 2016-08-25 18:26:30 +00:00
CodeGenOptions.cpp revert SVN r265702, r265640 2016-04-08 16:52:00 +00:00
CompilerInstance.cpp Switch SmallSetVector to use DenseSet when it overflows its inline space. 2016-10-21 21:45:01 +00:00
CompilerInvocation.cpp Switch SmallSetVector to use DenseSet when it overflows its inline space. 2016-10-21 21:45:01 +00:00
CreateInvocationFromCommandLine.cpp [CUDA][OpenMP] Create generic offload action 2016-07-15 23:13:27 +00:00
DependencyFile.cpp Turn copies into references as suggested by clang-tidy's performance-unnecessary-copy-initialization. 2016-05-27 13:36:58 +00:00
DependencyGraph.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
DiagnosticRenderer.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
FrontendAction.cpp Reapply r276973 "Adjust Registry interface to not require plugins to export a registry" 2016-08-05 11:01:08 +00:00
FrontendActions.cpp C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
FrontendOptions.cpp C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
HeaderIncludeGen.cpp [Frontend] StringRefize and fix bad indentation. 2016-05-27 12:52:19 +00:00
InitHeaderSearch.cpp Use StringRef for MemoryBuffer identifier API (NFC) 2016-10-01 16:38:28 +00:00
InitPreprocessor.cpp Mark aligned allocation as done. 2016-10-10 06:55:42 +00:00
LangStandards.cpp [C++11] Use 'nullptr'. Frontend edition. 2014-05-22 04:46:25 +00:00
LayoutOverrideSource.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
LogDiagnosticPrinter.cpp Replace double negation of !FileID.isInvalid() with FileID.isValid(). 2015-10-03 10:46:20 +00:00
ModuleDependencyCollector.cpp [VFS] Add 'ignore-non-existent-contents' field to YAML files 2016-08-12 01:50:53 +00:00
MultiplexConsumer.cpp PR29097: add an update record when we instantiate the default member 2016-08-24 21:25:37 +00:00
PCHContainerOperations.cpp Frontend: Simplify ownership model for clang's output streams. 2016-07-15 00:55:40 +00:00
PrintPreprocessedOutput.cpp [modules] Add a comment to explain why -E leaves some #includes in the preprocessed output. 2016-04-08 01:23:59 +00:00
SerializedDiagnosticPrinter.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
SerializedDiagnosticReader.cpp Use noexcept instead of LLVM_NOEXCEPT now that all compilers support it 2016-10-19 23:39:55 +00:00
TestModuleFileExtension.cpp Use arrays or initializer lists to feed ArrayRefs instead of SmallVector where possible. 2016-07-02 11:41:41 +00:00
TestModuleFileExtension.h Module file extensions: pass a Sema through to the extension writer. 2015-12-08 22:43:32 +00:00
TextDiagnostic.cpp Move UTF functions into namespace llvm. 2016-09-30 00:38:45 +00:00
TextDiagnosticBuffer.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:42:19 +00:00
TextDiagnosticPrinter.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
VerifyDiagnosticConsumer.cpp Refactor: Simplify boolean conditional return statements in lib/Frontend 2015-12-28 15:15:16 +00:00