LLVM  14.0.0git
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 readImpl () override
 Read samples only for functions to use. More...
 
bool collectFuncsFromModule () override
 Collect functions with definitions in Module M. More...
 
virtual bool useMD5 () override
 Return whether names in the profile are all MD5 numbers. More...
 
- 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
 
void setDiscriminatorMaskedBitFrom (FSDiscriminatorPass P)
 Set the bits for FS discriminators. More...
 
uint32_t getDiscriminatorMask () const
 Get the bitmask the discriminators: For FS profiles, return the bit mask for this pass. More...
 
std::error_code read ()
 The interface to read sample profiles from the associated file. More...
 
void dumpFunctionProfile (SampleContext FContext, raw_ostream &OS=dbgs())
 Print the profile for FContext 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...
 
FunctionSamplesgetOrCreateSamplesFor (const Function &F)
 Return the samples collected for function F, create empty FunctionSamples if it doesn't exist. More...
 
virtual FunctionSamplesgetSamplesFor (StringRef Fname)
 Return the samples collected for function F. More...
 
SampleProfileMapgetProfiles ()
 Return all the profiles. More...
 
void reportError (int64_t LineNumber, const 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...
 
bool profileIsProbeBased () const
 Whether input profile is based on pseudo probes. More...
 
bool profileIsCS () const
 Whether input profile is fully context-sensitive. More...
 
virtual std::unique_ptr< ProfileSymbolListgetProfileSymbolList ()
 
virtual bool dumpSectionInfo (raw_ostream &OS=dbgs())
 
virtual void setSkipFlatProf (bool Skip)
 Don't read profile without context if the flag is set. More...
 
virtual bool hasUniqSuffix ()
 Return whether any name in the profile contains ".__uniq." suffix. More...
 
SampleProfileReaderItaniumRemappergetRemapper ()
 
void setModule (const Module *Mod)
 

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, FSDiscriminatorPass P=FSDiscriminatorPass::Base, 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, FSDiscriminatorPass P=FSDiscriminatorPass::Base, 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::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 ErrorOr< SampleContextreadSampleContextFromTable ()
 
- 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...
 
std::vector< StringRefNameTable
 Function name table. More...
 
- Protected Attributes inherited from llvm::sampleprof::SampleProfileReader
SampleProfileMap Profiles
 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::unordered_set< std::string > MD5NameBuffer
 Extra name buffer holding names created on demand. More...
 
std::unique_ptr< ProfileSummarySummary
 Profile summary information. More...
 
std::unique_ptr< SampleProfileReaderItaniumRemapperRemapper
 
bool ProfileIsProbeBased = false
 Whether samples are collected based on pseudo probes. More...
 
bool ProfileIsCS = false
 Whether function profiles are context-sensitive. More...
 
uint32_t CSProfileCount = 0
 Number of context-sensitive profiles. More...
 
bool ProfileIsFS = false
 Whether the function profiles use FS discriminators. More...
 
SampleProfileFormat Format = SPF_None
 The format of sample. More...
 
const ModuleM = nullptr
 The current module being compiled if SampleProfileReader is used by compiler. More...
 
uint32_t MaskedBitFrom = 31
 Zero out the discriminator bits higher than bit MaskedBitFrom (0 based). More...
 

Detailed Description

Definition at line 803 of file SampleProfReader.h.

Constructor & Destructor Documentation

◆ SampleProfileReaderCompactBinary()

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

Definition at line 820 of file SampleProfReader.h.

Member Function Documentation

◆ collectFuncsFromModule()

bool SampleProfileReaderCompactBinary::collectFuncsFromModule ( )
overridevirtual

Collect functions with definitions in Module M.

Return true if the reader has been given a module.

Reimplemented from llvm::sampleprof::SampleProfileReader.

Definition at line 1333 of file SampleProfReader.cpp.

References F, llvm::sampleprof::FunctionSamples::getCanonicalFnName(), and llvm::sampleprof::SampleProfileReader::M.

◆ hasFormat()

bool SampleProfileReaderCompactBinary::hasFormat ( const MemoryBuffer Buffer)
static

◆ readImpl()

std::error_code SampleProfileReaderCompactBinary::readImpl ( )
overridevirtual

◆ useMD5()

virtual bool llvm::sampleprof::SampleProfileReaderCompactBinary::useMD5 ( )
inlineoverridevirtual

Return whether names in the profile are all MD5 numbers.

Reimplemented from llvm::sampleprof::SampleProfileReader.

Definition at line 835 of file SampleProfReader.h.


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