hanchenye-llvm-project/clang/lib/Basic
Sam McCall 0ae00567ba [VFS] vfs::directory_iterator yields path and file type instead of full Status
Summary:
Most callers I can find are using only `getName()`. Type is used by the
recursive iterator.

Now we don't have to call stat() on every listed file (on most platforms).
Exceptions are e.g. Solaris where readdir() doesn't include type information.
On those platforms we'll still stat() - see D51918.

The result is significantly faster (stat() can be slow).
My motivation: this may allow us to improve clang IO on large TUs with long
include search paths. Caching readdir() results may allow us to skip many stat()
and open() operations on nonexistent files.

Reviewers: bkramer

Subscribers: fedor.sergeev, cfe-commits

Differential Revision: https://reviews.llvm.org/D51921

llvm-svn: 342232
2018-09-14 12:47:38 +00:00
..
Targets Move AESNI generation to Skylake and Goldmont 2018-09-10 21:12:21 +00:00
Attributes.cpp
Builtins.cpp [Builtins][Attributes][X86] Tag all X86 builtins with their required vector width. Add a min_vector_width function attribute and tag all x86 instrinsics with it 2018-07-09 19:00:16 +00:00
CMakeLists.txt [Fixed Point Arithmetic] Fixed Point Constant 2018-08-06 16:42:37 +00:00
CharInfo.cpp
Cuda.cpp [CUDA] Enable CUDA compilation with CUDA-9.2 2018-04-24 18:23:19 +00:00
Diagnostic.cpp Add a newline to SourceLocation dump output 2018-08-15 20:32:06 +00:00
DiagnosticIDs.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
DiagnosticOptions.cpp [Basic] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-16 23:40:07 +00:00
FileManager.cpp Fix build bot after r340598. 2018-08-24 09:53:44 +00:00
FileSystemStatCache.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
FixedPoint.cpp Fix for broken build on clang-hexagon-elf for ambiguous call to 2018-08-06 19:31:00 +00:00
IdentifierTable.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
LangOptions.cpp [OpenCL] Factor out language version printing 2018-05-08 13:47:43 +00:00
MemoryBufferCache.cpp
Module.cpp When we leave a module header, make that header visible in its 2018-09-12 23:09:23 +00:00
ObjCRuntime.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
OpenMPKinds.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
OperatorPrecedence.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SanitizerBlacklist.cpp Allow specifying sanitizers in blacklists 2017-09-25 22:11:12 +00:00
SanitizerSpecialCaseList.cpp Update SanitizerSpecialCaseList to use renamed functions in base class. 2017-11-07 21:16:37 +00:00
Sanitizers.cpp [Basic] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-28 22:09:09 +00:00
SourceLocation.cpp Add dump() method for SourceRange 2018-08-30 23:10:52 +00:00
SourceManager.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
TargetInfo.cpp [Android] Increase default new alignment for Android 2018-08-01 17:55:34 +00:00
Targets.cpp [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals 2018-06-20 17:19:40 +00:00
Targets.h NFC: Add the emacs c++ mode hint "-*- C++ -*-" to the headers that don't have it 2018-07-24 00:07:49 +00:00
TokenKinds.cpp
Version.cpp
VirtualFileSystem.cpp [VFS] vfs::directory_iterator yields path and file type instead of full Status 2018-09-14 12:47:38 +00:00
Warnings.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
XRayInstr.cpp [XRay] Add clang builtin for xray typed events. 2018-04-17 21:32:43 +00:00
XRayLists.cpp [XRay][llvm+clang] Consolidate attribute list files 2018-04-09 04:02:09 +00:00