LLVM: llvm::sampleprof::SampleProfileWriterBinary Class Reference (original) (raw)

Sample-based profile writer (binary format). More...

#include "[llvm/ProfileData/SampleProfWriter.h](SampleProfWriter%5F8h%5Fsource.html)"

Public Member Functions
SampleProfileWriterBinary (std::unique_ptr< raw_ostream > &OS)
std::error_code writeSample (const FunctionSamples &S) override
Write samples of a top-level function to a binary file.
Public Member Functions inherited from llvm::sampleprof::SampleProfileWriter
virtual ~SampleProfileWriter ()=default
virtual std::error_code write (const SampleProfileMap &ProfileMap)
Write all the sample profiles in the given map of samples.
template<typename FunctionPruningStrategy = DefaultFunctionPruningStrategy>
std::error_code writeWithSizeLimit (SampleProfileMap &ProfileMap, size_t OutputSizeLimit)
Write sample profiles up to given size limit, using the pruning strategy to drop some functions if necessary.
raw_ostream & getOutputStream ()
virtual void setProfileSymbolList (ProfileSymbolList *PSL)
virtual void setToCompressAllSections ()
virtual void setUseMD5 ()
virtual void setPartialProfile ()
virtual void setUseCtxSplitLayout ()
Protected Member Functions
virtual MapVector< FunctionId, uint32_t > & getNameTable ()
virtual std::error_code writeMagicIdent (SampleProfileFormat Format)
virtual std::error_code writeNameTable ()
std::error_code writeHeader (const SampleProfileMap &ProfileMap) override
Write a file header for the profile file.
std::error_code writeSummary ()
virtual std::error_code writeContextIdx (const SampleContext &Context)
std::error_code writeNameIdx (FunctionId FName)
std::error_code writeBody (const FunctionSamples &S)
void stablizeNameTable (MapVector< FunctionId, uint32_t > &NameTable, std::set< FunctionId > &V)
void addName (FunctionId FName)
virtual void addContext (const SampleContext &Context)
void addNames (const FunctionSamples &S)
std::error_code writeCallsiteVTableProf (const CallsiteTypeMap &CallsiteTypeMap, raw_ostream &OS)
Write CallsiteTypeMap to the output stream OS.
Protected Member Functions inherited from llvm::sampleprof::SampleProfileWriter
SampleProfileWriter (std::unique_ptr< raw_ostream > &OS)
virtual std::error_code writeFuncProfiles (const SampleProfileMap &ProfileMap)
std::error_code writeWithSizeLimitInternal (SampleProfileMap &ProfileMap, size_t OutputSizeLimit, FunctionPruningStrategy *Strategy)
void computeSummary (const SampleProfileMap &ProfileMap)
Compute summary for this profile.
Protected Attributes
MapVector< FunctionId, uint32_t > NameTable
bool WriteVTableProf = false
Protected Attributes inherited from llvm::sampleprof::SampleProfileWriter
size_t LineCount
For writeWithSizeLimit in text mode, each newline takes 1 additional byte on Windows when actually written to the file, but not written to a memory buffer.
std::unique_ptr< raw_ostream > OutputStream
Output stream where to emit the profile to.
std::unique_ptr< ProfileSummary > Summary
Profile summary.
SampleProfileFormat Format = SPF_None
Profile format.
Additional Inherited Members
Static Public Member Functions inherited from llvm::sampleprof::SampleProfileWriter
static ErrorOr< std::unique_ptr< SampleProfileWriter > > create (StringRef Filename, SampleProfileFormat Format)
Profile writer factory.
static ErrorOr< std::unique_ptr< SampleProfileWriter > > create (std::unique_ptr< raw_ostream > &OS, SampleProfileFormat Format)
Create a new stream writer based on the value of Format.

Sample-based profile writer (binary format).

Definition at line 202 of file SampleProfWriter.h.

llvm::sampleprof::SampleProfileWriterBinary::SampleProfileWriterBinary ( std::unique_ptr< raw_ostream > & OS) inline

addContext()

void SampleProfileWriterBinary::addContext ( const SampleContext & Context) protectedvirtual

addName()

void SampleProfileWriterBinary::addName ( FunctionId FName) protected

addNames()

Definition at line 692 of file SampleProfWriter.cpp.

References addName(), addNames(), llvm::sampleprof::FunctionSamples::getBodySamples(), llvm::sampleprof::FunctionSamples::getCallsiteSamples(), llvm::sampleprof::FunctionSamples::getCallsiteTypeCounts(), llvm::sampleprof::SampleRecord::getCallTargets(), llvm::sampleprof::FunctionSamples::getFunction(), I, llvm::make_first_range(), llvm::make_second_range(), and WriteVTableProf.

Referenced by addNames(), writeHeader(), and llvm::sampleprof::SampleProfileWriterExtBinaryBase::writeNameTableSection().

getNameTable()

stablizeNameTable()

writeBody()

Definition at line 888 of file SampleProfWriter.cpp.

References llvm::encodeULEB128(), llvm::sampleprof::FunctionSamples::getBodySamples(), llvm::sampleprof::FunctionSamples::getCallsiteSamples(), llvm::sampleprof::FunctionSamples::getCallsiteTypeCounts(), llvm::sampleprof::FunctionSamples::getContext(), getNameTable(), llvm::sampleprof::FunctionSamples::getTotalSamples(), I, llvm::sampleprof::SampleProfileWriter::OutputStream, llvm::sampleprof::SampleRecord::serialize(), llvm::success, writeBody(), writeCallsiteVTableProf(), writeContextIdx(), and WriteVTableProf.

Referenced by writeBody(), writeSample(), and llvm::sampleprof::SampleProfileWriterExtBinaryBase::writeSample().

writeCallsiteVTableProf()

writeContextIdx()

std::error_code SampleProfileWriterBinary::writeContextIdx ( const SampleContext & Context) protectedvirtual

writeHeader()

std::error_code SampleProfileWriterBinary::writeHeader ( const SampleProfileMap & ProfileMap) overrideprotectedvirtual

writeMagicIdent()

std::error_code SampleProfileWriterBinary::writeMagicIdent ( SampleProfileFormat Format) protectedvirtual

writeNameIdx()

std::error_code SampleProfileWriterBinary::writeNameIdx ( FunctionId FName) protected

writeNameTable()

std::error_code SampleProfileWriterBinary::writeNameTable ( ) protectedvirtual

writeSample()

writeSummary()

std::error_code SampleProfileWriterBinary::writeSummary ( ) protected

SampleProfileWriter::create

NameTable

WriteVTableProf

bool llvm::sampleprof::SampleProfileWriterBinary::WriteVTableProf = false protected

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