LLVM 22.0.0git
llvm::sampleprof::SampleProfileWriterExtBinary Class Reference

#include "llvm/ProfileData/SampleProfWriter.h"

Inheritance diagram for llvm::sampleprof::SampleProfileWriterExtBinary:
[legend]

Public Member Functions

 SampleProfileWriterExtBinary (std::unique_ptr< raw_ostream > &OS)
Public Member Functions inherited from llvm::sampleprof::SampleProfileWriterExtBinaryBase
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)
Public Member Functions inherited from llvm::sampleprof::SampleProfileWriter
virtual ~SampleProfileWriter ()=default
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_ostreamgetOutputStream ()

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.
Protected Member Functions inherited from llvm::sampleprof::SampleProfileWriterExtBinaryBase
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<class SecFlagType>
void addSectionFlag (SecType Type, SecFlagType Flag)
template<class SecFlagType>
void addSectionFlag (uint32_t SectionIdx, SecFlagType Flag)
void addContext (const SampleContext &Context) override
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)
std::error_code writeSummary ()
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)
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 inherited from llvm::sampleprof::SampleProfileWriterExtBinaryBase
SectionLayout SecLayout = DefaultLayout
SmallVector< SecHdrTableEntry, 8 > SectionHdrLayout
uint64_t SecLBRProfileStart = 0
Protected Attributes inherited from llvm::sampleprof::SampleProfileWriterBinary
MapVector< FunctionId, uint32_tNameTable
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_ostreamOutputStream
 Output stream where to emit the profile to.
std::unique_ptr< ProfileSummarySummary
 Profile summary.
SampleProfileFormat Format = SPF_None
 Profile format.

Detailed Description

Definition at line 419 of file SampleProfWriter.h.

Constructor & Destructor Documentation

◆ SampleProfileWriterExtBinary()

SampleProfileWriterExtBinary::SampleProfileWriterExtBinary ( std::unique_ptr< raw_ostream > & OS)

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