LLVM  8.0.1
Public Member Functions | Static Public Member Functions | List of all members
llvm::sampleprof::SampleProfileReaderCompactBinary Class Reference

#include "llvm/ProfileData/SampleProfReader.h"

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

Public Member Functions

 SampleProfileReaderCompactBinary (std::unique_ptr< MemoryBuffer > B, LLVMContext &C)
 
std::error_code read () override
 Read samples only for functions to use. More...
 
void collectFuncsToUse (const Module &M) override
 Collect functions to be used when compiling Module M. More...
 
- Public Member Functions inherited from llvm::sampleprof::SampleProfileReaderBinary
 SampleProfileReaderBinary (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format=SPF_None)
 
- Public Member Functions inherited from llvm::sampleprof::SampleProfileReader
 SampleProfileReader (std::unique_ptr< MemoryBuffer > B, LLVMContext &C, SampleProfileFormat Format=SPF_None)
 
virtual ~SampleProfileReader ()=default
 
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 ()
 Return the profile summary. More...
 
SampleProfileFormat getFormat ()
 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 Twine &Filename, LLVMContext &C)
 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)
 Create a sample profile reader from the supplied memory buffer. More...
 

Additional Inherited Members

- 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 ()
 Read the next function profile instance. More...
 
std::error_code readProfile (FunctionSamples &FProfile)
 Read the contents of the given profile instance. 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::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...
 
- 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...
 
SampleProfileFormat Format = SPF_None
 The format of sample. More...
 

Detailed Description

Definition at line 456 of file SampleProfReader.h.

Constructor & Destructor Documentation

◆ SampleProfileReaderCompactBinary()

llvm::sampleprof::SampleProfileReaderCompactBinary::SampleProfileReaderCompactBinary ( std::unique_ptr< MemoryBuffer B,
LLVMContext C 
)
inline

Member Function Documentation

◆ collectFuncsToUse()

void SampleProfileReaderCompactBinary::collectFuncsToUse ( const Module M)
overridevirtual

Collect functions to be used when compiling Module M.

Reimplemented from llvm::sampleprof::SampleProfileReader.

Definition at line 594 of file SampleProfReader.cpp.

References F(), llvm::ProfileSummary::PSK_Sample, llvm::success, and llvm::sampleprof::SampleProfileReader::Summary.

◆ hasFormat()

bool SampleProfileReaderCompactBinary::hasFormat ( const MemoryBuffer Buffer)
static

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

Definition at line 665 of file SampleProfReader.cpp.

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

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

◆ read()

std::error_code SampleProfileReaderCompactBinary::read ( )
overridevirtual

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