LLVM 20.0.0git
|
#include "llvm/CGData/CodeGenDataReader.h"
Public Member Functions | |
IndexedCodeGenDataReader (std::unique_ptr< MemoryBuffer > DataBuffer) | |
IndexedCodeGenDataReader (const IndexedCodeGenDataReader &)=delete | |
IndexedCodeGenDataReader & | operator= (const IndexedCodeGenDataReader &)=delete |
Error | read () override |
Read the contents including the header. | |
uint32_t | getVersion () const override |
Return the codegen data version. | |
CGDataKind | getDataKind () const override |
Return the codegen data kind. | |
bool | hasOutlinedHashTree () const override |
Return true if the header indicates the data has an outlined hash tree. | |
bool | hasStableFunctionMap () const override |
Return true if the header indicates the data has a stable function map. | |
Public Member Functions inherited from llvm::CodeGenDataReader | |
CodeGenDataReader ()=default | |
virtual | ~CodeGenDataReader ()=default |
virtual Error | read ()=0 |
Read the header. Required before reading first record. | |
virtual uint32_t | getVersion () const =0 |
Return the codegen data version. | |
virtual CGDataKind | getDataKind () const =0 |
Return the codegen data kind. | |
virtual bool | hasOutlinedHashTree () const =0 |
Return true if the data has an outlined hash tree. | |
virtual bool | hasStableFunctionMap () const =0 |
Return true if the data has a stable function map. | |
std::unique_ptr< OutlinedHashTree > | releaseOutlinedHashTree () |
Return the outlined hash tree that is released from the reader. | |
std::unique_ptr< StableFunctionMap > | releaseStableFunctionMap () |
Static Public Member Functions | |
static bool | hasFormat (const MemoryBuffer &Buffer) |
Return true if the given buffer is in binary codegen data format. | |
Static Public Member Functions inherited from llvm::CodeGenDataReader | |
static Expected< std::unique_ptr< CodeGenDataReader > > | create (const Twine &Path, vfs::FileSystem &FS) |
Factory method to create an appropriately typed reader for the given codegen data file path and file system. | |
static Expected< std::unique_ptr< CodeGenDataReader > > | create (std::unique_ptr< MemoryBuffer > Buffer) |
Factory method to create an appropriately typed reader for the given memory buffer. | |
static Error | mergeFromObjectFile (const object::ObjectFile *Obj, OutlinedHashTreeRecord &GlobalOutlineRecord, StableFunctionMapRecord &GlobalFunctionMapRecord, stable_hash *CombinedHash=nullptr) |
Extract the cgdata embedded in sections from the given object file and merge them into the GlobalOutlineRecord. | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::CodeGenDataReader | |
Error | error (cgdata_error Err, const std::string &ErrMsg="") |
Set the current error and return same. | |
Error | error (Error &&E) |
Error | success () |
Clear the current error and return a successful one. | |
Protected Attributes inherited from llvm::CodeGenDataReader | |
OutlinedHashTreeRecord | HashTreeRecord |
The outlined hash tree that has been read. | |
StableFunctionMapRecord | FunctionMapRecord |
The stable function map that has been read. When it's released by. | |
Definition at line 101 of file CodeGenDataReader.h.
|
inline |
Definition at line 108 of file CodeGenDataReader.h.
|
delete |
|
inlineoverridevirtual |
Return the codegen data kind.
Implements llvm::CodeGenDataReader.
Definition at line 121 of file CodeGenDataReader.h.
|
inlineoverridevirtual |
Return the codegen data version.
Implements llvm::CodeGenDataReader.
Definition at line 119 of file CodeGenDataReader.h.
|
static |
Return true if the given buffer is in binary codegen data format.
Definition at line 145 of file CodeGenDataReader.cpp.
References llvm::MemoryBuffer::getBufferSize(), llvm::MemoryBuffer::getBufferStart(), and llvm::IndexedCGData::Magic.
Referenced by llvm::CodeGenDataReader::create().
|
inlineoverridevirtual |
Return true if the header indicates the data has an outlined hash tree.
This does not mean that the data is still available.
Implements llvm::CodeGenDataReader.
Definition at line 126 of file CodeGenDataReader.h.
References llvm::FunctionOutlinedHashTree.
Referenced by read().
|
inlineoverridevirtual |
Return true if the header indicates the data has a stable function map.
Implements llvm::CodeGenDataReader.
Definition at line 131 of file CodeGenDataReader.h.
References llvm::StableFunctionMergingMap.
Referenced by read().
|
delete |
|
overridevirtual |
Read the contents including the header.
Implements llvm::CodeGenDataReader.
Definition at line 83 of file CodeGenDataReader.cpp.
References llvm::bad_header, llvm::OutlinedHashTreeRecord::deserialize(), llvm::StableFunctionMapRecord::deserialize(), End, llvm::eof, error, llvm::CodeGenDataReader::FunctionMapRecord, llvm::CodeGenDataReader::HashTreeRecord, hasOutlinedHashTree(), hasStableFunctionMap(), llvm::IndexedCGData::Header::OutlinedHashTreeOffset, Ptr, llvm::IndexedCGData::Header::readFromBuffer(), llvm::IndexedCGData::Header::StableFunctionMapOffset, and llvm::CodeGenDataReader::success().