LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::IndexedCodeGenDataReader Class Reference

#include "llvm/CGData/CodeGenDataReader.h"

Inheritance diagram for llvm::IndexedCodeGenDataReader:
Inheritance graph
[legend]

Public Member Functions

 IndexedCodeGenDataReader (std::unique_ptr< MemoryBuffer > DataBuffer)
 
 IndexedCodeGenDataReader (const IndexedCodeGenDataReader &)=delete
 
IndexedCodeGenDataReaderoperator= (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< OutlinedHashTreereleaseOutlinedHashTree ()
 Return the outlined hash tree that is released from the reader.
 
std::unique_ptr< StableFunctionMapreleaseStableFunctionMap ()
 

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.
 

Detailed Description

Definition at line 101 of file CodeGenDataReader.h.

Constructor & Destructor Documentation

◆ IndexedCodeGenDataReader() [1/2]

llvm::IndexedCodeGenDataReader::IndexedCodeGenDataReader ( std::unique_ptr< MemoryBuffer DataBuffer)
inline

Definition at line 108 of file CodeGenDataReader.h.

◆ IndexedCodeGenDataReader() [2/2]

llvm::IndexedCodeGenDataReader::IndexedCodeGenDataReader ( const IndexedCodeGenDataReader )
delete

Member Function Documentation

◆ getDataKind()

CGDataKind llvm::IndexedCodeGenDataReader::getDataKind ( ) const
inlineoverridevirtual

Return the codegen data kind.

Implements llvm::CodeGenDataReader.

Definition at line 121 of file CodeGenDataReader.h.

◆ getVersion()

uint32_t llvm::IndexedCodeGenDataReader::getVersion ( ) const
inlineoverridevirtual

Return the codegen data version.

Implements llvm::CodeGenDataReader.

Definition at line 119 of file CodeGenDataReader.h.

◆ hasFormat()

bool llvm::IndexedCodeGenDataReader::hasFormat ( const MemoryBuffer Buffer)
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().

◆ hasOutlinedHashTree()

bool llvm::IndexedCodeGenDataReader::hasOutlinedHashTree ( ) const
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().

◆ hasStableFunctionMap()

bool llvm::IndexedCodeGenDataReader::hasStableFunctionMap ( ) const
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().

◆ operator=()

IndexedCodeGenDataReader & llvm::IndexedCodeGenDataReader::operator= ( const IndexedCodeGenDataReader )
delete

◆ read()

Error llvm::IndexedCodeGenDataReader::read ( )
overridevirtual

The documentation for this class was generated from the following files: