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:
- include/llvm/ProfileData/SampleProfWriter.h
- lib/ProfileData/SampleProfWriter.cpp