forked from OSchip/llvm-project
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 |
||
---|---|---|
.. | ||
plugins | ||
AnalysisDeclContext.cpp | ||
BodyFarm.cpp | ||
CFG.cpp | ||
CFGReachabilityAnalysis.cpp | ||
CFGStmtMap.cpp | ||
CMakeLists.txt | ||
CallGraph.cpp | ||
CalledOnceCheck.cpp | ||
CloneDetection.cpp | ||
CocoaConventions.cpp | ||
CodeInjector.cpp | ||
ConstructionContext.cpp | ||
Consumed.cpp | ||
Dominators.cpp | ||
ExprMutationAnalyzer.cpp | ||
IssueHash.cpp | ||
LiveVariables.cpp | ||
MacroExpansionContext.cpp | ||
ObjCNoReturn.cpp | ||
PathDiagnostic.cpp | ||
PostOrderCFGView.cpp | ||
ProgramPoint.cpp | ||
ReachableCode.cpp | ||
RetainSummaryManager.cpp | ||
ThreadSafety.cpp | ||
ThreadSafetyCommon.cpp | ||
ThreadSafetyLogical.cpp | ||
ThreadSafetyTIL.cpp | ||
UninitializedValues.cpp |