diff options
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
-rw-r--r-- | clang/lib/Basic/FileManager.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Basic/FileManager.cpp b/clang/lib/Basic/FileManager.cpp index 4509cee..6097b85 100644 --- a/clang/lib/Basic/FileManager.cpp +++ b/clang/lib/Basic/FileManager.cpp @@ -692,5 +692,16 @@ void FileManager::PrintStats() const { llvm::errs() << NumFileLookups << " file lookups, " << NumFileCacheMisses << " file cache misses.\n"; + getVirtualFileSystem().visit([](llvm::vfs::FileSystem &VFS) { + if (auto *T = dyn_cast_or_null<llvm::vfs::TracingFileSystem>(&VFS)) + llvm::errs() << "\n*** Virtual File System Stats:\n" + << T->NumStatusCalls << " status() calls\n" + << T->NumOpenFileForReadCalls << " openFileForRead() calls\n" + << T->NumDirBeginCalls << " dir_begin() calls\n" + << T->NumGetRealPathCalls << " getRealPath() calls\n" + << T->NumExistsCalls << " exists() calls\n" + << T->NumIsLocalCalls << " isLocal() calls\n"; + }); + //llvm::errs() << PagesMapped << BytesOfPagesMapped << FSLookups; } |