LLVM 22.0.0git
|
#include "llvm/ProfileData/SampleProfWriter.h"
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_ostream & | getOutputStream () |
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_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. |
Definition at line 419 of file SampleProfWriter.h.
SampleProfileWriterExtBinary::SampleProfileWriterExtBinary | ( | std::unique_ptr< raw_ostream > & | OS | ) |
Definition at line 489 of file SampleProfWriter.cpp.
References ExtBinaryWriteVTableTypeProf, and llvm::sampleprof::SampleProfileWriterBinary::WriteVTableProf.