diff options
author | Chris Lattner <sabre@nondot.org> | 2010-11-23 19:38:22 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-11-23 19:38:22 +0000 |
commit | b3c814538bb664448027cfc96b9c6073012d6352 (patch) | |
tree | 9cd8c9c5840434ca39ce6770677c0dec7b14afa5 /clang/lib/Basic/FileManager.cpp | |
parent | 2a6fa47b266f090af059a8a5076a590840b5f0c4 (diff) | |
download | bcm5719-llvm-b3c814538bb664448027cfc96b9c6073012d6352.tar.gz bcm5719-llvm-b3c814538bb664448027cfc96b9c6073012d6352.zip |
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
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
-rw-r--r-- | clang/lib/Basic/FileManager.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Basic/FileManager.cpp b/clang/lib/Basic/FileManager.cpp index 9572aaadb7a..b884388c0b5 100644 --- a/clang/lib/Basic/FileManager.cpp +++ b/clang/lib/Basic/FileManager.cpp @@ -394,11 +394,12 @@ llvm::MemoryBuffer *FileManager:: getBufferForFile(const FileEntry *Entry, std::string *ErrorStr) { llvm::StringRef Filename = Entry->getName(); if (FileSystemOpts.WorkingDir.empty()) - return llvm::MemoryBuffer::getFile(Filename, ErrorStr); + return llvm::MemoryBuffer::getFile(Filename, ErrorStr, Entry->getSize()); llvm::sys::Path FilePath(Filename); FixupRelativePath(FilePath, FileSystemOpts); - return llvm::MemoryBuffer::getFile(FilePath.c_str(), ErrorStr); + return llvm::MemoryBuffer::getFile(FilePath.c_str(), ErrorStr, + Entry->getSize()); } llvm::MemoryBuffer *FileManager:: |