LLVM 17.0.0git
Public Member Functions | Friends | List of all members
llvm::InstrProfReaderIndex< HashTableImpl > Class Template Reference

#include "llvm/ProfileData/InstrProfReader.h"

Inheritance diagram for llvm::InstrProfReaderIndex< HashTableImpl >:
Inheritance graph
[legend]
Collaboration diagram for llvm::InstrProfReaderIndex< HashTableImpl >:
Collaboration graph
[legend]

Public Member Functions

 InstrProfReaderIndex (const unsigned char *Buckets, const unsigned char *const Payload, const unsigned char *const Base, IndexedInstrProf::HashT HashType, uint64_t Version)
 
 ~InstrProfReaderIndex () override=default
 
Error getRecords (ArrayRef< NamedInstrProfRecord > &Data) override
 
Error getRecords (StringRef FuncName, ArrayRef< NamedInstrProfRecord > &Data) override
 
void advanceToNextKey () override
 
bool atEnd () const override
 
void setValueProfDataEndianness (support::endianness Endianness) override
 
uint64_t getVersion () const override
 
bool isIRLevelProfile () const override
 
bool hasCSIRLevelProfile () const override
 
bool instrEntryBBEnabled () const override
 
bool hasSingleByteCoverage () const override
 
bool functionEntryOnly () const override
 
bool hasMemoryProfile () const override
 
InstrProfKind getProfileKind () const override
 
Error populateSymtab (InstrProfSymtab &Symtab) override
 
- Public Member Functions inherited from llvm::InstrProfReaderIndexBase
virtual ~InstrProfReaderIndexBase ()=default
 
virtual Error getRecords (ArrayRef< NamedInstrProfRecord > &Data)=0
 
virtual Error getRecords (StringRef FuncName, ArrayRef< NamedInstrProfRecord > &Data)=0
 
virtual void advanceToNextKey ()=0
 
virtual bool atEnd () const =0
 
virtual void setValueProfDataEndianness (support::endianness Endianness)=0
 
virtual uint64_t getVersion () const =0
 
virtual bool isIRLevelProfile () const =0
 
virtual bool hasCSIRLevelProfile () const =0
 
virtual bool instrEntryBBEnabled () const =0
 
virtual bool hasSingleByteCoverage () const =0
 
virtual bool functionEntryOnly () const =0
 
virtual bool hasMemoryProfile () const =0
 
virtual InstrProfKind getProfileKind () const =0
 
virtual Error populateSymtab (InstrProfSymtab &)=0
 

Friends

class InstrProfReaderItaniumRemapper< HashTableImpl >
 

Detailed Description

template<typename HashTableImpl>
class llvm::InstrProfReaderIndex< HashTableImpl >

Definition at line 523 of file InstrProfReader.h.

Constructor & Destructor Documentation

◆ InstrProfReaderIndex()

template<typename HashTableImpl >
InstrProfReaderIndex::InstrProfReaderIndex ( const unsigned char Buckets,
const unsigned char *const  Payload,
const unsigned char *const  Base,
IndexedInstrProf::HashT  HashType,
uint64_t  Version 
)

Definition at line 776 of file InstrProfReader.cpp.

References llvm::sampleprof::Base.

◆ ~InstrProfReaderIndex()

template<typename HashTableImpl >
llvm::InstrProfReaderIndex< HashTableImpl >::~InstrProfReaderIndex ( )
overridedefault

Member Function Documentation

◆ advanceToNextKey()

template<typename HashTableImpl >
void llvm::InstrProfReaderIndex< HashTableImpl >::advanceToNextKey ( )
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 541 of file InstrProfReader.h.

◆ atEnd()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::atEnd ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 543 of file InstrProfReader.h.

◆ functionEntryOnly()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::functionEntryOnly ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 569 of file InstrProfReader.h.

◆ getProfileKind()

template<typename HashTableImpl >
InstrProfKind InstrProfReaderIndex::getProfileKind
overridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 788 of file InstrProfReader.cpp.

References getProfileKindFromVersion().

◆ getRecords() [1/2]

template<typename HashTableImpl >
Error InstrProfReaderIndex::getRecords ( ArrayRef< NamedInstrProfRecord > &  Data)
overridevirtual

◆ getRecords() [2/2]

template<typename HashTableImpl >
Error InstrProfReaderIndex::getRecords ( StringRef  FuncName,
ArrayRef< NamedInstrProfRecord > &  Data 
)
overridevirtual

◆ getVersion()

template<typename HashTableImpl >
uint64_t llvm::InstrProfReaderIndex< HashTableImpl >::getVersion ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 551 of file InstrProfReader.h.

◆ hasCSIRLevelProfile()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::hasCSIRLevelProfile ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 557 of file InstrProfReader.h.

◆ hasMemoryProfile()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::hasMemoryProfile ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 573 of file InstrProfReader.h.

◆ hasSingleByteCoverage()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::hasSingleByteCoverage ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 565 of file InstrProfReader.h.

◆ instrEntryBBEnabled()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::instrEntryBBEnabled ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 561 of file InstrProfReader.h.

◆ isIRLevelProfile()

template<typename HashTableImpl >
bool llvm::InstrProfReaderIndex< HashTableImpl >::isIRLevelProfile ( ) const
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 553 of file InstrProfReader.h.

◆ populateSymtab()

template<typename HashTableImpl >
Error llvm::InstrProfReaderIndex< HashTableImpl >::populateSymtab ( InstrProfSymtab Symtab)
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 579 of file InstrProfReader.h.

References llvm::InstrProfSymtab::create().

◆ setValueProfDataEndianness()

template<typename HashTableImpl >
void llvm::InstrProfReaderIndex< HashTableImpl >::setValueProfDataEndianness ( support::endianness  Endianness)
inlineoverridevirtual

Implements llvm::InstrProfReaderIndexBase.

Definition at line 547 of file InstrProfReader.h.

Friends And Related Function Documentation

◆ InstrProfReaderItaniumRemapper< HashTableImpl >

template<typename HashTableImpl >
friend class InstrProfReaderItaniumRemapper< HashTableImpl >
friend

Definition at line 527 of file InstrProfReader.h.


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