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

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

Public Member Functions
std::error_code write (const SampleProfileMap &ProfileMap) override
Write all the sample profiles in the given map of samples.
void setToCompressAllSections () override
void setToCompressSection (SecType Type)
std::error_code writeSample (const FunctionSamples &S) override
Write samples of a top-level function to a binary file.
void setUseMD5 () override
void setPartialProfile () override
void setProfileSymbolList (ProfileSymbolList *PSL) override
void setUseCtxSplitLayout () override
void resetSecLayout (SectionLayout SL)
- Public Member Functions inherited from llvm::sampleprof::SampleProfileWriterBinary
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 writeSample (const FunctionSamples &S)=0
Write sample profiles in S.
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
uint64_t markSectionStart (SecType Type, uint32_t LayoutIdx)
Return the current position and prepare to use it as the start position of a section given the section type Type and its position LayoutIdx in SectionHdrLayout.
std::error_code addNewSection (SecType Sec, uint32_t LayoutIdx, uint64_t SectionStart)
Add a new section into section header table given the section type Type, its position LayoutIdx in SectionHdrLayout and the location SectionStart where the section should be written to.
template
void addSectionFlag (SecType Type, SecFlagType Flag)
template
void addSectionFlag (uint32_t SectionIdx, SecFlagType Flag)
void addContext (const SampleContext &Context) override
virtual std::error_code writeCustomSection (SecType Type)=0
virtual void verifySecLayout (SectionLayout SL)=0
virtual std::error_code writeSections (const SampleProfileMap &ProfileMap)=0
virtual std::error_code writeOneSection (SecType Type, uint32_t LayoutIdx, const SampleProfileMap &ProfileMap)
std::error_code writeNameTable () override
std::error_code writeContextIdx (const SampleContext &Context) override
std::error_code writeCSNameIdx (const SampleContext &Context)
std::error_code writeCSNameTableSection ()
std::error_code writeFuncMetadata (const SampleProfileMap &Profiles)
std::error_code writeFuncMetadata (const FunctionSamples &Profile)
std::error_code writeNameTableSection (const SampleProfileMap &ProfileMap)
std::error_code writeFuncOffsetTable ()
std::error_code writeProfileSymbolListSection ()
- Protected Member Functions inherited from llvm::sampleprof::SampleProfileWriterBinary
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)
- Protected Member Functions inherited from llvm::sampleprof::SampleProfileWriter
SampleProfileWriter (std::unique_ptr< raw_ostream > &OS)
virtual std::error_code writeHeader (const SampleProfileMap &ProfileMap)=0
Write a file header for the profile file.
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
SectionLayout SecLayout = DefaultLayout
SmallVector< SecHdrTableEntry, 8 > SectionHdrLayout
uint64_t SecLBRProfileStart = 0
- Protected Attributes inherited from llvm::sampleprof::SampleProfileWriterBinary
MapVector< FunctionId, uint32_t > NameTable
- 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.

Definition at line 267 of file SampleProfWriter.h.

addContext()

void SampleProfileWriterExtBinaryBase::addContext ( const SampleContext & Context) overrideprotectedvirtual

addNewSection()

std::error_code SampleProfileWriterExtBinaryBase::addNewSection ( SecType Sec, uint32_t LayoutIdx, uint64_t SectionStart ) protected

addSectionFlag() [1/2]

template

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::addSectionFlag ( SecType Type, SecFlagType Flag ) inlineprotected

addSectionFlag() [2/2]

template

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::addSectionFlag ( uint32_t SectionIdx, SecFlagType Flag ) inlineprotected

markSectionStart()

resetSecLayout()

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::resetSecLayout ( SectionLayout SL) inline

setPartialProfile()

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::setPartialProfile ( ) inlineoverridevirtual

setProfileSymbolList()

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::setProfileSymbolList ( ProfileSymbolList * PSL) inlineoverridevirtual

setToCompressAllSections()

void SampleProfileWriterExtBinaryBase::setToCompressAllSections ( ) overridevirtual

setToCompressSection()

void SampleProfileWriterExtBinaryBase::setToCompressSection ( SecType Type )

setUseCtxSplitLayout()

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::setUseCtxSplitLayout ( ) inlineoverridevirtual

setUseMD5()

void llvm::sampleprof::SampleProfileWriterExtBinaryBase::setUseMD5 ( ) inlineoverridevirtual

verifySecLayout()

virtual void llvm::sampleprof::SampleProfileWriterExtBinaryBase::verifySecLayout ( SectionLayout SL) protectedpure virtual

write()

std::error_code SampleProfileWriterExtBinaryBase::write ( const SampleProfileMap & ProfileMap) overridevirtual

writeContextIdx()

std::error_code SampleProfileWriterExtBinaryBase::writeContextIdx ( const SampleContext & Context) overrideprotectedvirtual

writeCSNameIdx()

std::error_code SampleProfileWriterExtBinaryBase::writeCSNameIdx ( const SampleContext & Context) protected

writeCSNameTableSection()

std::error_code SampleProfileWriterExtBinaryBase::writeCSNameTableSection ( ) protected

writeCustomSection()

virtual std::error_code llvm::sampleprof::SampleProfileWriterExtBinaryBase::writeCustomSection ( SecType Type) protectedpure virtual

writeFuncMetadata() [1/2]

std::error_code SampleProfileWriterExtBinaryBase::writeFuncMetadata ( const FunctionSamples & Profile) protected

Definition at line 298 of file SampleProfWriter.cpp.

References llvm::sampleprof::LineLocation::Discriminator, llvm::encodeULEB128(), llvm::sampleprof::SampleContext::getAllAttributes(), llvm::sampleprof::FunctionSamples::getCallsiteSamples(), llvm::sampleprof::FunctionSamples::getContext(), llvm::sampleprof::FunctionSamples::getFunctionHash(), llvm::sampleprof::LineLocation::LineOffset, OS, llvm::sampleprof::SampleProfileWriter::OutputStream, llvm::sampleprof::FunctionSamples::ProfileIsCS, llvm::sampleprof::FunctionSamples::ProfileIsPreInlined, llvm::sampleprof::FunctionSamples::ProfileIsProbeBased, llvm::success, writeContextIdx(), and writeFuncMetadata().

writeFuncMetadata() [2/2]

std::error_code SampleProfileWriterExtBinaryBase::writeFuncMetadata ( const SampleProfileMap & Profiles) protected

writeFuncOffsetTable()

std::error_code SampleProfileWriterExtBinaryBase::writeFuncOffsetTable ( ) protected

writeNameTable()

std::error_code SampleProfileWriterExtBinaryBase::writeNameTable ( ) overrideprotectedvirtual

writeNameTableSection()

std::error_code SampleProfileWriterExtBinaryBase::writeNameTableSection ( const SampleProfileMap & ProfileMap) protected

writeOneSection()

Definition at line 422 of file SampleProfWriter.cpp.

References addNewSection(), addSectionFlag(), llvm::sampleprof::SampleProfileWriter::computeSummary(), markSectionStart(), llvm::sampleprof::SampleProfileWriter::OutputStream, llvm::sampleprof::FunctionSamples::ProfileIsCS, llvm::sampleprof::FunctionSamples::ProfileIsFS, llvm::sampleprof::FunctionSamples::ProfileIsPreInlined, llvm::sampleprof::FunctionSamples::ProfileIsProbeBased, llvm::sampleprof::SecCSNameTable, llvm::sampleprof::SecFlagFSDiscriminator, llvm::sampleprof::SecFlagFullContext, llvm::sampleprof::SecFlagHasAttribute, llvm::sampleprof::SecFlagIsPreInlined, llvm::sampleprof::SecFlagIsProbeBased, llvm::sampleprof::SecFuncMetadata, llvm::sampleprof::SecFuncOffsetTable, llvm::sampleprof::SecLBRProfile, SecLBRProfileStart, llvm::sampleprof::SecNameTable, llvm::sampleprof::SecProfileSymbolList, llvm::sampleprof::SecProfSummary, setToCompressSection(), llvm::success, llvm::sampleprof::ProfileSymbolList::toCompress(), writeCSNameTableSection(), writeCustomSection(), writeFuncMetadata(), writeFuncOffsetTable(), llvm::sampleprof::SampleProfileWriter::writeFuncProfiles(), writeNameTableSection(), writeProfileSymbolListSection(), and llvm::sampleprof::SampleProfileWriterBinary::writeSummary().

writeProfileSymbolListSection()

std::error_code SampleProfileWriterExtBinaryBase::writeProfileSymbolListSection ( ) protected

writeSample()

std::error_code SampleProfileWriterExtBinaryBase::writeSample ( const FunctionSamples & S) overridevirtual

writeSections()

virtual std::error_code llvm::sampleprof::SampleProfileWriterExtBinaryBase::writeSections ( const SampleProfileMap & ProfileMap) protectedpure virtual

SecLayout

SecLBRProfileStart

uint64_t llvm::sampleprof::SampleProfileWriterExtBinaryBase::SecLBRProfileStart = 0 protected

SectionHdrLayout


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