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.
 
- 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.
 
std::unique_ptr< OutlinedHashTreereleaseOutlinedHashTree ()
 Return the outlined hash tree that is released from the reader.
 

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)
 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.
 

Detailed Description

Definition at line 86 of file CodeGenDataReader.h.

Constructor & Destructor Documentation

◆ IndexedCodeGenDataReader() [1/2]

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

Definition at line 93 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 106 of file CodeGenDataReader.h.

◆ getVersion()

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

Return the codegen data version.

Implements llvm::CodeGenDataReader.

Definition at line 104 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 121 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 111 of file CodeGenDataReader.h.

References llvm::FunctionOutlinedHashTree.

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: