forked from OSchip/llvm-project
Lots of headers pass around MemoryBuffer objects, but very few open
them. Let those that do include FileSystem.h.
Saves ~250 includes of Chrono.h & FileSystem.h:
$ diff -u thedeps-before.txt thedeps-after.txt | grep '^[-+] ' | sort | uniq -c | sort -nr
254 - ../llvm/include/llvm/Support/FileSystem.h
253 - ../llvm/include/llvm/Support/Chrono.h
237 - ../llvm/include/llvm/Support/NativeFormatting.h
237 - ../llvm/include/llvm/Support/FormatProviders.h
192 - ../llvm/include/llvm/ADT/StringSwitch.h
190 - ../llvm/include/llvm/Support/FormatVariadicDetails.h
...
This requires duplicating the file_t typedef, which is unfortunate. I
sunk the choice of mapping mode down into the cpp file using variable
template specializations instead of class members in headers.
|
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| DependencyDirectivesSourceMinimizer.cpp | ||
| HeaderMap.cpp | ||
| HeaderSearch.cpp | ||
| Lexer.cpp | ||
| LiteralSupport.cpp | ||
| MacroArgs.cpp | ||
| MacroInfo.cpp | ||
| ModuleMap.cpp | ||
| PPCaching.cpp | ||
| PPCallbacks.cpp | ||
| PPConditionalDirectiveRecord.cpp | ||
| PPDirectives.cpp | ||
| PPExpressions.cpp | ||
| PPLexerChange.cpp | ||
| PPMacroExpansion.cpp | ||
| Pragma.cpp | ||
| PreprocessingRecord.cpp | ||
| Preprocessor.cpp | ||
| PreprocessorLexer.cpp | ||
| ScratchBuffer.cpp | ||
| TokenConcatenation.cpp | ||
| TokenLexer.cpp | ||
| UnicodeCharSets.h | ||