llvm-project/clang/lib/Basic
Reid Kleckner e08464fb45 Avoid including FileManager.h from SourceManager.h
Most clients of SourceManager.h need to do things like turning source
locations into file & line number pairs, but this doesn't require
bringing in FileManager.h and LLVM's FS headers.

The main code change here is to sink SM::createFileID into the cpp file.
I reason that this is not performance critical because it doesn't happen
on the diagnostic path, it happens along the paths of macro expansion
(could be hot) and new includes (less hot).

Saves some includes:
    309 -    /usr/local/google/home/rnk/llvm-project/clang/include/clang/Basic/FileManager.h
    272 -    /usr/local/google/home/rnk/llvm-project/clang/include/clang/Basic/FileSystemOptions.h
    271 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/VirtualFileSystem.h
    267 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/FileSystem.h
    266 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Support/Chrono.h

Differential Revision: https://reviews.llvm.org/D75406
2020-03-11 13:53:12 -07:00
..
Targets [ARM,CDE] Implement CDE feature test macros 2020-03-09 16:14:06 +00:00
Attributes.cpp Add an attribute registry so plugins can add attributes 2020-02-27 17:23:16 +00:00
Builtins.cpp isBuiltinFunc() uses StringRef instead of const char* 2019-10-29 17:36:55 +01:00
CMakeLists.txt Make LLVM_APPEND_VC_REV=OFF affect clang, lld, and lldb as well. 2020-01-16 19:04:08 -05:00
CharInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeGenOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Cuda.cpp [CUDA] Assume the latest known CUDA version if we've found an unknown one. 2020-01-28 10:11:42 -08:00
Diagnostic.cpp [Sema] Improve diagnostic about addr spaces for overload candidates 2019-12-13 12:35:18 +00:00
DiagnosticIDs.cpp GCC5 buildbot made it to clang. Fix implicit conversions it found. 2020-01-29 02:19:49 +01:00
DiagnosticOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FileManager.cpp [NFC] Remove trailing space 2020-02-18 10:49:13 +08:00
FileSystemStatCache.cpp [FileSystemStatCache] Return std::error_code from stat cache methods 2019-04-16 17:34:26 +00:00
FixedPoint.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
IdentifierTable.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
LangOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LangStandards.cpp Move LangStandard*, InputKind::Language to Basic 2019-08-05 13:59:26 +00:00
Module.cpp Avoid including Module.h from ExternalASTSource.h 2020-03-11 13:37:41 -07:00
ObjCRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OpenMPKinds.cpp [OPENMP50]Support 'update' clause for 'depobj' directive. 2020-03-03 13:59:32 -05:00
OperatorPrecedence.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SanitizerBlacklist.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
SanitizerSpecialCaseList.cpp Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists exist 2019-11-21 11:56:09 +01:00
Sanitizers.cpp Tweak r355278 for compatibility with gcc 6 and earlier. 2019-03-02 21:55:36 +00:00
SourceLocation.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SourceManager.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
Stack.cpp [msvc] Add necessary #include to make compiler intrinsics available. 2019-08-26 18:33:15 +00:00
TargetInfo.cpp [ARM,CDE] Implement CDE feature test macros 2020-03-09 16:14:06 +00:00
Targets.cpp [Clang] Enable RISC-V support for Fuchsia 2019-11-21 16:02:26 -08:00
Targets.h De-templatize non-dependent VS macro logic, NFC 2019-07-09 20:57:28 +00:00
TokenKinds.cpp Use switch instead of series of comparisons 2019-08-03 16:32:49 +00:00
Version.cpp Remove some SVN-specific code. 2020-01-16 11:02:52 -05:00
Warnings.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
XRayInstr.cpp [xray] Allow instrumenting only function entry and/or only function exit 2020-01-17 13:32:34 -08:00
XRayLists.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00