LLVM 20.0.0git
|
Namespaces | |
namespace | detail |
Classes | |
class | directory_entry |
A member of a directory, yielded by a directory_iterator. More... | |
class | directory_iterator |
An input iterator over the entries in a virtual path, similar to llvm::sys::fs::directory_iterator. More... | |
class | File |
Represents an open file. More... | |
class | FileSystem |
The virtual file system interface. More... | |
class | InMemoryFileSystem |
An in-memory file system. More... | |
class | OverlayFileSystem |
A file system that allows overlaying one AbstractFileSystem on top of another. More... | |
class | ProxyFileSystem |
By default, this delegates all calls to the underlying file system. More... | |
class | recursive_directory_iterator |
An input iterator over the recursive contents of a virtual path, similar to llvm::sys::fs::recursive_directory_iterator. More... | |
class | RedirectingFileSystem |
A virtual file system parsed from a YAML file. More... | |
class | RedirectingFileSystemParser |
A helper class to hold the common YAML parsing state. More... | |
class | RedirectingFSDirIterImpl |
Directory iterator implementation for RedirectingFileSystem's directory entries. More... | |
class | Status |
The result of a status operation. More... | |
class | TracingFileSystem |
File system that tracks the number of calls to the underlying file system. More... | |
struct | YAMLVFSEntry |
class | YAMLVFSWriter |
Functions | |
IntrusiveRefCntPtr< FileSystem > | getRealFileSystem () |
Gets an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
std::unique_ptr< FileSystem > | createPhysicalFileSystem () |
Create an vfs::FileSystem for the 'real' file system, as seen by the operating system. | |
llvm::sys::fs::UniqueID | getNextVirtualUniqueID () |
Get a globally unique ID for a virtual file or directory. | |
std::unique_ptr< FileSystem > | getVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem()) |
Gets a FileSystem for a virtual file system described in YAML format. | |
void | collectVFSFromYAML (std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::SourceMgr::DiagHandlerTy DiagHandler, StringRef YAMLFilePath, SmallVectorImpl< YAMLVFSEntry > &CollectedEntries, void *DiagContext=nullptr, IntrusiveRefCntPtr< FileSystem > ExternalFS=getRealFileSystem()) |
Collect all pairs of <virtual path, real path> entries from the YAMLFilePath . | |
static sys::fs::UniqueID | getUniqueID (hash_code Hash) |
static sys::fs::UniqueID | getFileID (sys::fs::UniqueID Parent, llvm::StringRef Name, llvm::StringRef Contents) |
static sys::fs::UniqueID | getDirectoryID (sys::fs::UniqueID Parent, llvm::StringRef Name) |
void llvm::vfs::collectVFSFromYAML | ( | std::unique_ptr< llvm::MemoryBuffer > | Buffer, |
llvm::SourceMgr::DiagHandlerTy | DiagHandler, | ||
StringRef | YAMLFilePath, | ||
SmallVectorImpl< YAMLVFSEntry > & | CollectedEntries, | ||
void * | DiagContext = nullptr , |
||
IntrusiveRefCntPtr< FileSystem > | ExternalFS = getRealFileSystem() |
||
) |
Collect all pairs of <virtual path, real path> entries from the YAMLFilePath
.
This is used by the module dependency collector to forward the entries into the reproducer output VFS YAML file.
std::unique_ptr< FileSystem > llvm::vfs::createPhysicalFileSystem | ( | ) |
Create an vfs::FileSystem
for the 'real' file system, as seen by the operating system.
It has its own working directory, independent of (but initially equal to) that of the process.
Definition at line 404 of file VirtualFileSystem.cpp.
|
static |
Definition at line 823 of file VirtualFileSystem.cpp.
References llvm::sys::fs::UniqueID::getFile(), getUniqueID(), llvm::hash_combine(), and Name.
Referenced by llvm::vfs::detail::NewInMemoryNodeInfo::makeStatus().
|
static |
Definition at line 818 of file VirtualFileSystem.cpp.
References llvm::sys::fs::UniqueID::getFile(), getUniqueID(), llvm::hash_combine(), and Name.
Referenced by llvm::vfs::detail::NewInMemoryNodeInfo::makeStatus().
UniqueID llvm::vfs::getNextVirtualUniqueID | ( | ) |
Get a globally unique ID for a virtual file or directory.
Definition at line 2728 of file VirtualFileSystem.cpp.
Referenced by llvm::vfs::RedirectingFileSystemParser::lookupOrCreateEntry().
IntrusiveRefCntPtr< FileSystem > llvm::vfs::getRealFileSystem | ( | ) |
Gets an vfs::FileSystem
for the 'real' file system, as seen by the operating system.
The working directory is linked to the process's working directory. (This is usually thread-hostile).
Definition at line 399 of file VirtualFileSystem.cpp.
Referenced by llvm::OverlapStats::accumulateCounts(), llvm::FileCollectorBase::addDirectory(), llvm::CodeGenData::getInstance(), llvm::MemProfUsePass::MemProfUsePass(), llvm::MIRProfileLoaderPass::MIRProfileLoaderPass(), llvm::PGOInstrumentationUse::PGOInstrumentationUse(), llvm::SanitizerBinaryMetadataPass::run(), llvm::SampleProfileLoaderPass::run(), runNewPMPasses(), and llvm::SanitizerCoveragePass::SanitizerCoveragePass().
|
static |
Definition at line 814 of file VirtualFileSystem.cpp.
Referenced by getDirectoryID(), and getFileID().
std::unique_ptr< FileSystem > llvm::vfs::getVFSFromYAML | ( | std::unique_ptr< llvm::MemoryBuffer > | Buffer, |
llvm::SourceMgr::DiagHandlerTy | DiagHandler, | ||
StringRef | YAMLFilePath, | ||
void * | DiagContext = nullptr , |
||
IntrusiveRefCntPtr< FileSystem > | ExternalFS = getRealFileSystem() |
||
) |
Gets a FileSystem
for a virtual file system described in YAML format.