61cdaf66fe
<string> is currently the highest impact header in a clang+llvm build: https://commondatastorage.googleapis.com/chromium-browser-clang/llvm-include-analysis.html One of the most common places this is being included is the APInt.h header, which needs it for an old toString() implementation that returns std::string - an inefficient method compared to the SmallString versions that it actually wraps. This patch replaces these APInt/APSInt methods with a pair of llvm::toString() helpers inside StringExtras.h, adjusts users accordingly and removes the <string> from APInt.h - I was hoping that more of these users could be converted to use the SmallString methods, but it appears that most end up creating a std::string anyhow. I avoided trying to use the raw_ostream << operators as well as I didn't want to lose having the integer radix explicit in the code. Differential Revision: https://reviews.llvm.org/D103888 |
||
---|---|---|
.. | ||
abseil | ||
altera | ||
android | ||
boost | ||
bugprone | ||
cert | ||
concurrency | ||
cppcoreguidelines | ||
darwin | ||
fuchsia | ||
hicpp | ||
linuxkernel | ||
llvm | ||
llvmlibc | ||
misc | ||
modernize | ||
mpi | ||
objc | ||
openmp | ||
performance | ||
plugin | ||
portability | ||
readability | ||
tool | ||
utils | ||
zircon | ||
add_new_check.py | ||
clang-tidy-config.h.cmake | ||
ClangTidy.cpp | ||
ClangTidy.h | ||
ClangTidyCheck.cpp | ||
ClangTidyCheck.h | ||
ClangTidyDiagnosticConsumer.cpp | ||
ClangTidyDiagnosticConsumer.h | ||
ClangTidyForceLinker.h | ||
ClangTidyModule.cpp | ||
ClangTidyModule.h | ||
ClangTidyModuleRegistry.h | ||
ClangTidyOptions.cpp | ||
ClangTidyOptions.h | ||
ClangTidyProfiling.cpp | ||
ClangTidyProfiling.h | ||
CMakeLists.txt | ||
ExpandModularHeadersPPCallbacks.cpp | ||
ExpandModularHeadersPPCallbacks.h | ||
GlobList.cpp | ||
GlobList.h | ||
rename_check.py |