llvm-project/clang-tools-extra/clang-tidy
Simon Pilgrim 61cdaf66fe [ADT] Remove APInt/APSInt toString() std::string variants
<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
2021-06-11 13:19:15 +01:00
..
abseil [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
altera [clang-tidy] Fix altera-struct-pack-align crash for struct fields with incomplete type 2021-05-17 16:50:47 +03:00
android [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
boost [openmp] Add missing dependencies for OMP.h.inc after d90443b 2020-06-23 11:48:04 -04:00
bugprone [clang-tidy] Fix a crash on invalid code for memset-usage check. 2021-05-19 09:53:18 +02:00
cert [clang-tidy][NFC] Update tests and Default options to use boolean value 2021-05-04 18:17:56 +01:00
concurrency [clang-tidy] Add new check 'concurrency-thread-canceltype-asynchronous' and alias 'cert-pos47-c'. 2021-02-22 12:42:20 +01:00
cppcoreguidelines [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
darwin [openmp] Add missing dependencies for OMP.h.inc after d90443b 2020-06-23 11:48:04 -04:00
fuchsia [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
google [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
hicpp [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
linuxkernel [openmp] Add missing dependencies for OMP.h.inc after d90443b 2020-06-23 11:48:04 -04:00
llvm [clang-tidy][NFC] Update tests and Default options to use boolean value 2021-05-04 18:17:56 +01:00
llvmlibc [clang-tidy][NFC] Remove unnecessary includes throughout clang-tidy header files 2020-06-29 16:05:52 +01:00
misc [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
modernize [clang] NFC: Rename rvalue to prvalue 2021-06-09 12:27:10 +02:00
mpi [clang-tidy] Fix mpi checks when running multiple TUs per clang-tidy process 2021-03-25 14:38:37 +00:00
objc [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
openmp [clang-tidy][NFC] Remove unnecessary includes throughout clang-tidy header files 2020-06-29 16:05:52 +01:00
performance [clang-tidy] performance-unnecessary-copy-initialization: Look at the canonical type when checking for aliases. 2021-06-09 16:36:53 -04:00
plugin [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
portability [clang-tidy][NFC] Tweak some generation of diag messages 2021-02-26 19:10:25 +00:00
readability Fix nits. 2021-04-12 18:46:13 +02:00
tool [clang-tidy] Added command line option `fix-notes` 2021-03-01 22:07:11 +00:00
utils [clang-tidy] bugprone-infinite-loop: forFunction() -> forCallable(). 2021-05-13 11:25:01 -07:00
zircon Remove references to the ast_type_traits namespace 2020-12-11 00:58:46 +01:00
CMakeLists.txt [clang-tidy] add concurrency module 2020-11-30 12:27:17 +03:00
ClangTidy.cpp [libtooling][clang-tidy] Fix diagnostics not highlighting fed SourceRanges 2021-04-10 16:43:44 +02:00
ClangTidy.h [clang-tidy] Added command line option `fix-notes` 2021-03-01 22:07:11 +00:00
ClangTidyCheck.cpp [clang-tidy][NFC] Short circuit getting enum options suggestions. 2021-05-03 11:20:27 +01:00
ClangTidyCheck.h [clang-tidy] Remove OptionError 2021-03-01 17:55:17 +00:00
ClangTidyDiagnosticConsumer.cpp Remark was added to clang tooling Diagnostic 2021-05-24 11:21:44 -04:00
ClangTidyDiagnosticConsumer.h [clang-tidy] Added command line option `fix-notes` 2021-03-01 22:07:11 +00:00
ClangTidyForceLinker.h [clang-tidy] add concurrency module 2020-11-30 12:27:17 +03:00
ClangTidyModule.cpp [clang-tidy][NFC] Use StringMap for ClangTidyCheckFactories::FacoryMap 2020-07-30 22:57:33 +01:00
ClangTidyModule.h [clang-tidy][NFC] Remove unnecessary headers 2020-12-28 15:01:51 +00:00
ClangTidyModuleRegistry.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyOptions.cpp [clang-tidy] Applied clang-tidy fixes. NFC 2021-01-29 01:01:19 +01:00
ClangTidyOptions.h [clang-tidy] Add a diagnostic callback to parseConfiguration 2020-12-17 00:24:58 +00:00
ClangTidyProfiling.cpp [clang-tidy][NFC] Remove unnecessary headers 2020-12-28 15:01:51 +00:00
ClangTidyProfiling.h [clang-tidy][NFC] Remove unnecessary includes throughout clang-tidy header files 2020-06-29 16:05:52 +01:00
ExpandModularHeadersPPCallbacks.cpp [NFC] Unify FIME with FIXME in comments 2021-03-10 14:00:51 +01:00
ExpandModularHeadersPPCallbacks.h Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
GlobList.cpp [clang-tidy] Ignore all spaces in the list of checks 2021-03-24 06:43:13 -07:00
GlobList.h [clang-tidy][NFC] Made Globlist::contains const 2020-12-08 22:26:55 +00:00
add_new_check.py [clang-tidy] prevent generated checks from triggering assertions on anonymous functions 2020-08-12 12:43:40 +01:00
clang-tidy-config.h.cmake Add an explicit toggle for the static analyzer in clang-tidy 2020-09-10 10:48:17 -04:00
rename_check.py [NFC][clang-tidy] Port rename_check.py to Python3 2020-12-01 20:10:19 +03:00