LLVM 22.0.0git
llvm::TextCodeGenDataReader Class Reference

This format is a simple text format that's suitable for test data. More...

#include "llvm/CGData/CodeGenDataReader.h"

Inheritance diagram for llvm::TextCodeGenDataReader:
[legend]

Public Member Functions

 TextCodeGenDataReader (std::unique_ptr< MemoryBuffer > DataBuffer_)
 TextCodeGenDataReader (const TextCodeGenDataReader &)=delete
TextCodeGenDataReaderoperator= (const TextCodeGenDataReader &)=delete
Error read () override
 Read the contents including the header.
uint32_t getVersion () const override
 Text format does not have version, so return 0.
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
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 text codegen data format.
Static Public Member Functions inherited from llvm::CodeGenDataReader
static LLVM_ABI 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 LLVM_ABI 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 LLVM_ABI 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

This format is a simple text format that's suitable for test data.

The header is a custom format starting with : per line to indicate which codegen data is recorded. # is used to indicate a comment. The subsequent data is a YAML format per each codegen data in order. Currently, it only has a function outlined hash tree.

Definition at line 143 of file CodeGenDataReader.h.

Constructor & Destructor Documentation

◆ TextCodeGenDataReader() [1/2]

llvm::TextCodeGenDataReader::TextCodeGenDataReader ( std::unique_ptr< MemoryBuffer > DataBuffer_)
inline

Definition at line 152 of file CodeGenDataReader.h.

References llvm::move().

Referenced by operator=(), and TextCodeGenDataReader().

◆ TextCodeGenDataReader() [2/2]

llvm::TextCodeGenDataReader::TextCodeGenDataReader ( const TextCodeGenDataReader & )
delete

Member Function Documentation

◆ getDataKind()

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

Return the codegen data kind.

Implements llvm::CodeGenDataReader.

Definition at line 164 of file CodeGenDataReader.h.

◆ getVersion()

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

Text format does not have version, so return 0.

Implements llvm::CodeGenDataReader.

Definition at line 162 of file CodeGenDataReader.h.

◆ hasFormat()

bool llvm::TextCodeGenDataReader::hasFormat ( const MemoryBuffer & Buffer)
static

Return true if the given buffer is in text codegen data format.

Definition at line 178 of file CodeGenDataReader.cpp.

References llvm::all_of(), llvm::MemoryBuffer::getBuffer(), llvm::isPrint(), llvm::isSpace(), and llvm::StringRef::take_front().

Referenced by llvm::CodeGenDataReader::create(), and operator=().

◆ hasOutlinedHashTree()

bool llvm::TextCodeGenDataReader::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 167 of file CodeGenDataReader.h.

References llvm::FunctionOutlinedHashTree.

Referenced by read().

◆ hasStableFunctionMap()

bool llvm::TextCodeGenDataReader::hasStableFunctionMap ( ) const
inlineoverridevirtual

Return true if the header indicates the data has a stable function map.

This does not mean that the data is still available.

Implements llvm::CodeGenDataReader.

Definition at line 173 of file CodeGenDataReader.h.

References llvm::StableFunctionMergingMap.

Referenced by read().

◆ operator=()

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

◆ read()


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