LLVM  10.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
llvm::sampleprof::SampleProfileReaderExtBinary Class Reference

#include "llvm/ProfileData/SampleProfReader.h"

Inheritance diagram for llvm::sampleprof::SampleProfileReaderExtBinary:
Inheritance graph
[legend]
Collaboration diagram for llvm::sampleprof::SampleProfileReaderExtBinary:
Collaboration graph
[legend]

Public Member Functions

 SampleProfileReaderExtBinary (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format=SPF_Ext_Binary)
 
virtual std::unique_ptr< ProfileSymbolListgetProfileSymbolList () override
 
void collectFuncsFrom (const Module &M) override
 Collect functions with definitions in Module M. More...
 
- Public Member Functions inherited from llvm::sampleprof::SampleProfileReaderExtBinaryBase
 SampleProfileReaderExtBinaryBase (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format)
 
std::error_code readImpl () override
 Read sample profiles in extensible format from the associated file. More...
 
uint64_t getSectionSize (SecType Type)
 Get the total size of all Type sections. More...
 
uint64_t getFileSize ()
 Get the total size of header and all sections. More...
 
virtual bool dumpSectionInfo (raw_ostream &OS=dbgs()) override
 
- Public Member Functions inherited from llvm::sampleprof::SampleProfileReaderBinary
 SampleProfileReaderBinary (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format=SPF_None)
 
virtual std::vector< StringRef > * getNameTable () override
 It includes all the names that have samples either in outline instance or inline instance. More...
 
- Public Member Functions inherited from llvm::sampleprof::SampleProfileReader
 SampleProfileReader (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format=SPF_None)
 
virtual ~SampleProfileReader ()=default
 
std::error_code read ()
 The interface to read sample profiles from the associated file. More...
 
void dumpFunctionProfile (StringRef FName, raw_ostream &OS=dbgs())
 Print the profile for FName on stream OS. More...
 
void dump (raw_ostream &OS=dbgs())
 Print all the profiles on stream OS. More...
 
FunctionSamplesgetSamplesFor (const Function &F)
 Return the samples collected for function F. More...
 
virtual FunctionSamplesgetSamplesFor (StringRef Fname)
 Return the samples collected for function F. More...
 
StringMap< FunctionSamples > & getProfiles ()
 Return all the profiles. More...
 
void reportError (int64_t LineNumber, Twine Msg) const
 Report a parse error message. More...
 
ProfileSummarygetSummary () const
 Return the profile summary. More...
 
MemoryBuffergetBuffer () const
 
SampleProfileFormat getFormat () const
 Return the profile format. More...
 

Static Public Member Functions

static bool hasFormat (const MemoryBuffer &Buffer)
 Return true if Buffer is in the format supported by this class. More...
 
- Static Public Member Functions inherited from llvm::sampleprof::SampleProfileReader
static ErrorOr< std::unique_ptr< SampleProfileReader > > create (const std::string Filename, LLVMContext &C, const std::string RemapFilename="")
 Create a sample profile reader appropriate to the file format. More...
 
static ErrorOr< std::unique_ptr< SampleProfileReader > > create (std::unique_ptr< MemoryBuffer > &B, LLVMContext &C, const std::string RemapFilename="")
 Create a sample profile reader from the supplied memory buffer. More...
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::sampleprof::SampleProfileReaderExtBinaryBase
std::error_code readSecHdrTableEntry ()
 
std::error_code readSecHdrTable ()
 
virtual std::error_code readHeader () override
 Read and validate the file header. More...
 
- Protected Member Functions inherited from llvm::sampleprof::SampleProfileReaderBinary
template<typename T >
ErrorOr< TreadNumber ()
 Read a numeric value of type T from the profile. More...
 
template<typename T >
ErrorOr< TreadUnencodedNumber ()
 Read a numeric value of type T from the profile. More...
 
ErrorOr< StringRefreadString ()
 Read a string from the profile. More...
 
template<typename T >
ErrorOr< uint32_treadStringIndex (T &Table)
 Read the string index and check whether it overflows the table. More...
 
bool at_eof () const
 Return true if we've reached the end of file. More...
 
std::error_code readFuncProfile (const uint8_t *Start)
 Read the next function profile instance. More...
 
std::error_code readProfile (FunctionSamples &FProfile)
 Read the contents of the given profile instance. More...
 
std::error_code readMagicIdent ()
 Read the contents of Magic number and Version number. More...
 
std::error_code readSummary ()
 Read profile summary. More...
 
virtual std::error_code readNameTable ()
 Read the whole name table. More...
 
virtual ErrorOr< StringRefreadStringFromTable ()
 Read a string indirectly via the name table. More...
 
- Protected Member Functions inherited from llvm::sampleprof::SampleProfileReader
void computeSummary ()
 Compute summary for this profile. More...
 
- Static Protected Member Functions inherited from llvm::sampleprof::SampleProfileReader
static std::unique_ptr< ProfileSummarytakeSummary (SampleProfileReader &Reader)
 Take ownership of the summary of this reader. More...
 
- Protected Attributes inherited from llvm::sampleprof::SampleProfileReaderExtBinaryBase
std::vector< SecHdrTableEntrySecHdrTable
 
std::unique_ptr< ProfileSymbolListProfSymList
 
- Protected Attributes inherited from llvm::sampleprof::SampleProfileReaderBinary
const uint8_t * Data = nullptr
 Points to the current location in the buffer. More...
 
const uint8_t * End = nullptr
 Points to the end of the buffer. More...
 
std::vector< StringRefNameTable
 Function name table. More...
 
- Protected Attributes inherited from llvm::sampleprof::SampleProfileReader
StringMap< FunctionSamplesProfiles
 Map every function to its associated profile. More...
 
LLVMContextCtx
 LLVM context used to emit diagnostics. More...
 
std::unique_ptr< MemoryBufferBuffer
 Memory buffer holding the profile file. More...
 
std::unique_ptr< ProfileSummarySummary
 Profile summary information. More...
 
std::unique_ptr< SampleProfileReaderItaniumRemapperRemapper
 
SampleProfileFormat Format = SPF_None
 The format of sample. More...
 

Detailed Description

Definition at line 601 of file SampleProfReader.h.

Constructor & Destructor Documentation

◆ SampleProfileReaderExtBinary()

llvm::sampleprof::SampleProfileReaderExtBinary::SampleProfileReaderExtBinary ( std::unique_ptr< MemoryBuffer B,
LLVMContext C,
SampleProfileFormat  Format = SPF_Ext_Binary 
)
inline

Definition at line 619 of file SampleProfReader.h.

Member Function Documentation

◆ collectFuncsFrom()

void SampleProfileReaderExtBinary::collectFuncsFrom ( const Module M)
overridevirtual

Collect functions with definitions in Module M.

Reimplemented from llvm::sampleprof::SampleProfileReader.

Definition at line 505 of file SampleProfReader.cpp.

References F(), llvm::sampleprof::FunctionSamples::getCanonicalFnName(), I, Size, and llvm::success.

◆ getProfileSymbolList()

virtual std::unique_ptr<ProfileSymbolList> llvm::sampleprof::SampleProfileReaderExtBinary::getProfileSymbolList ( )
inlineoverridevirtual

Reimplemented from llvm::sampleprof::SampleProfileReader.

Definition at line 626 of file SampleProfReader.h.

◆ hasFormat()

bool SampleProfileReaderExtBinary::hasFormat ( const MemoryBuffer Buffer)
static

Return true if Buffer is in the format supported by this class.

Definition at line 955 of file SampleProfReader.cpp.

References llvm::Data, llvm::decodeULEB128(), llvm::MemoryBuffer::getBufferStart(), Magic, llvm::sampleprof::SPF_Ext_Binary, and llvm::sampleprof::SPMagic().

Referenced by llvm::sampleprof::SampleProfileReader::create().


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