History log of /llvm-project/clang/lib/Basic/FileSystemStatCache.cpp (Results 26 – 41 of 41)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# f8f91b89 01-Aug-2013 Rafael Espindola <rafael.espindola@gmail.com>

Use llvm::sys::fs::UniqueID for windows and unix.

This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.

We cannot jus

Use llvm::sys::fs::UniqueID for windows and unix.

This unifies the unix and windows versions of FileManager::UniqueDirContainer
and FileManager::UniqueFileContainer by using UniqueID.

We cannot just replace "struct stat" with llvm::sys::fs::file_status, since we
want to be able to construct fake ones, and file_status has different members
on unix and windows.

What the patch does is:

* Record only the information that clang is actually using.
* Use llvm::sys::fs::status instead of stat and fstat.
* Use llvm::sys::fs::UniqueID
* Delete the old windows versions of UniqueDirContainer and
UniqueFileContainer since the "unix" one now works on windows too.

llvm-svn: 187619

show more ...


# 16125fb6 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com>

Update for llvm API change.

llvm-svn: 186448


Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1, llvmorg-3.2.0
# 3b779379 11-Dec-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com>

Extend stat query APIs to explicitly specify if the query is for
a file or directory, allowing just a stat call if a file descriptor
is not needed.

Doing just 'stat' is faster than 'open/fstat/close

Extend stat query APIs to explicitly specify if the query is for
a file or directory, allowing just a stat call if a file descriptor
is not needed.

Doing just 'stat' is faster than 'open/fstat/close'.
This has the effect of cutting down system time for validating the input files of a PCH.

llvm-svn: 169831

show more ...


Revision tags: llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1, llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1
# 68e081d6 20-Dec-2011 David Blaikie <dblaikie@gmail.com>

Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

llvm-svn: 146959


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1, llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# f28df4cd 17-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com>

Replace all uses of PathV1::isAbsolute with PathV2::is_{absolute,relative}.

llvm-svn: 122087


# 4fc8fb09 02-Dec-2010 Chris Lattner <sabre@nondot.org>

attempt to fix a buildbot failure, apparently apache fails to build.

llvm-svn: 120688


# 8aaf4995 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com>

Merge System into Support.

llvm-svn: 120297


# 31ee8bfb 24-Nov-2010 Francois Pichet <pichet2000@gmail.com>

Fix 2 problems with Chris Lattner's FileManager redesign on Windows.

- FileEntry::operator= is needed on Win32.
- There was an error in the S_ISDIR() macro.

llvm-svn: 120079


# 5ea7d07d 23-Nov-2010 Chris Lattner <sabre@nondot.org>

The final result of all this refactoring: instead of doing stat immediately
followed by an open for every source file we open, probe the file system with
'open' and then do an fstat when it succeeds.

The final result of all this refactoring: instead of doing stat immediately
followed by an open for every source file we open, probe the file system with
'open' and then do an fstat when it succeeds. open+fstat is faster than
stat+open because the kernel only has to perform the string->inode mapping
once. Presumably it gets faster the deeper in your filesystem a lookup
happens.

For -Eonly on cocoa.h, this reduces system time from 0.042s to 0.039s on
my machine, a 7.7% speedup.

llvm-svn: 120066

show more ...


# f77e11ba 23-Nov-2010 Chris Lattner <sabre@nondot.org>

if we succeed in opening a directory but expected a file, ensure we don't
leak a filedescriptor if a client ever starts returning one.

llvm-svn: 120062


# dd278430 23-Nov-2010 Chris Lattner <sabre@nondot.org>

change the 'is directory' indicator to be a null-or-not
pointer that is passed down through the APIs, and make
FileSystemStatCache::get be the one that filters out
directory lookups that hit files.

change the 'is directory' indicator to be a null-or-not
pointer that is passed down through the APIs, and make
FileSystemStatCache::get be the one that filters out
directory lookups that hit files. This also paves the
way to have stat queries be able to return opened files.

llvm-svn: 120060

show more ...


# ea61b32c 23-Nov-2010 Chris Lattner <sabre@nondot.org>

replicate a terrible hack to fix a build error on VC++

llvm-svn: 120039


# 8f0583da 23-Nov-2010 Chris Lattner <sabre@nondot.org>

simplify the cache miss handling code, eliminating CacheMissing.

llvm-svn: 120038


# b3c81453 23-Nov-2010 Chris Lattner <sabre@nondot.org>

r120013 dropped passing in the precomputed file size to
MemoryBuffer::getFile, causing us to pick up a fstat for
every file. Restore the optimization.

llvm-svn: 120032


# 2a6fa47b 23-Nov-2010 Chris Lattner <sabre@nondot.org>

PCH files only cache successful stats. Remove the code that reads/writes
the result code of the stat to/from the PCH file since it is always 0.

llvm-svn: 120031


# 226efd35 23-Nov-2010 Chris Lattner <sabre@nondot.org>

rework the stat cache, pulling it out of FileManager.h into
its own header and giving it some more structure. No
functionality change.

llvm-svn: 120030


12