|
LLVM 22.0.0git
|
InstrProfCorrelator - A base class used to create raw instrumentation data to their functions. More...
#include "llvm/ProfileData/InstrProfCorrelator.h"
Classes | |
| struct | Context |
| struct | CorrelationData |
| struct | Probe |
Public Types | |
| enum | ProfCorrelatorKind { NONE , DEBUG_INFO , BINARY } |
| Indicate if we should use the debug info or profile metadata sections to correlate. More... | |
| enum | InstrProfCorrelatorKind { CK_32Bit , CK_64Bit } |
Public Member Functions | |
| virtual Error | correlateProfileData (int MaxWarnings)=0 |
| Construct a ProfileData vector used to correlate raw instrumentation data to their functions. | |
| virtual Error | dumpYaml (int MaxWarnings, raw_ostream &OS)=0 |
| Process debug info and dump the correlation data. | |
| LLVM_ABI std::optional< size_t > | getDataSize () const |
| Return the number of ProfileData elements. | |
| const char * | getNamesPointer () const |
| Return a pointer to the names string that this class constructs. | |
| size_t | getNamesSize () const |
| Return the number of bytes in the names string. | |
| uint64_t | getCountersSectionSize () const |
| Return the size of the counters section in bytes. | |
| InstrProfCorrelatorKind | getKind () const |
| virtual | ~InstrProfCorrelator ()=default |
Static Public Member Functions | |
| static LLVM_ABI llvm::Expected< std::unique_ptr< InstrProfCorrelator > > | get (StringRef Filename, ProfCorrelatorKind FileKind, const object::BuildIDFetcher *BIDFetcher=nullptr, const ArrayRef< llvm::object::BuildID > BIs={}) |
Static Public Attributes | |
| static LLVM_ABI const char * | FunctionNameAttributeName = "Function Name" |
| static LLVM_ABI const char * | CFGHashAttributeName = "CFG Hash" |
| static LLVM_ABI const char * | NumCountersAttributeName = "Num Counters" |
Protected Member Functions | |
| InstrProfCorrelator (InstrProfCorrelatorKind K, std::unique_ptr< Context > Ctx) | |
Protected Attributes | |
| const std::unique_ptr< Context > | Ctx |
| std::string | Names |
| std::vector< std::string > | NamesVec |
Friends | |
| struct | yaml::MappingTraits< Probe > |
| struct | yaml::SequenceElementTraits< Probe > |
| struct | yaml::MappingTraits< CorrelationData > |
InstrProfCorrelator - A base class used to create raw instrumentation data to their functions.
Definition at line 35 of file InstrProfCorrelator.h.
| Enumerator | |
|---|---|
| CK_32Bit | |
| CK_64Bit | |
Definition at line 73 of file InstrProfCorrelator.h.
Indicate if we should use the debug info or profile metadata sections to correlate.
| Enumerator | |
|---|---|
| NONE | |
| DEBUG_INFO | |
| BINARY | |
Definition at line 39 of file InstrProfCorrelator.h.
|
virtualdefault |
|
inlineprotected |
Definition at line 97 of file InstrProfCorrelator.h.
References Ctx, and llvm::move().
Referenced by llvm::InstrProfCorrelatorImpl< IntPtrT >::classof().
|
pure virtual |
Construct a ProfileData vector used to correlate raw instrumentation data to their functions.
| MaxWarnings | the maximum number of warnings to emit (0 = no limit) |
Implemented in llvm::InstrProfCorrelatorImpl< IntPtrT >.
|
pure virtual |
Process debug info and dump the correlation data.
| MaxWarnings | the maximum number of warnings to emit (0 = no limit) |
Implemented in llvm::InstrProfCorrelatorImpl< IntPtrT >.
References LLVM_ABI.
|
static |
Definition at line 94 of file InstrProfCorrelator.cpp.
References BINARY, DEBUG_INFO, llvm::ArrayRef< T >::empty(), llvm::errorOrToExpected(), llvm::object::BuildIDFetcher::fetch(), llvm::object::MachOObjectFile::findDsymObjectMembers(), llvm::ArrayRef< T >::front(), get(), llvm::MemoryBuffer::getFile(), llvm::make_error(), llvm::ArrayRef< T >::size(), llvm::toHex(), and llvm::unable_to_correlate_profile.
Referenced by get().
|
inline |
Return the size of the counters section in bytes.
Definition at line 65 of file InstrProfCorrelator.h.
References Ctx.
| std::optional< size_t > InstrProfCorrelator::getDataSize | ( | ) | const |
Return the number of ProfileData elements.
Definition at line 175 of file InstrProfCorrelator.cpp.
References llvm::CallingConv::C, and llvm::dyn_cast().
|
inline |
Definition at line 74 of file InstrProfCorrelator.h.
Return a pointer to the names string that this class constructs.
Definition at line 59 of file InstrProfCorrelator.h.
References Names.
|
inline |
Return the number of bytes in the names string.
Definition at line 62 of file InstrProfCorrelator.h.
References Names.
|
friend |
Definition at line 101 of file InstrProfCorrelator.h.
|
friend |
Definition at line 101 of file InstrProfCorrelator.h.
|
friend |
Definition at line 101 of file InstrProfCorrelator.h.
Definition at line 70 of file InstrProfCorrelator.h.
Definition at line 95 of file InstrProfCorrelator.h.
Referenced by llvm::BinaryInstrProfCorrelator< IntPtrT >::BinaryInstrProfCorrelator(), llvm::DwarfInstrProfCorrelator< IntPtrT >::DwarfInstrProfCorrelator(), llvm::InstrProfCorrelatorImpl< IntPtrT >::get(), getCountersSectionSize(), llvm::BinaryInstrProfCorrelator< IntPtrT >::getNamesPointer(), llvm::BinaryInstrProfCorrelator< IntPtrT >::getNamesSize(), InstrProfCorrelator(), llvm::InstrProfCorrelatorImpl< IntPtrT >::InstrProfCorrelatorImpl(), and llvm::InstrProfCorrelatorImpl< IntPtrT >::maybeSwap().
Definition at line 69 of file InstrProfCorrelator.h.
|
protected |
Definition at line 100 of file InstrProfCorrelator.h.
Referenced by llvm::InstrProfCorrelatorImpl< IntPtrT >::correlateProfileData(), getNamesPointer(), and getNamesSize().
|
protected |
Definition at line 101 of file InstrProfCorrelator.h.
Referenced by llvm::InstrProfCorrelatorImpl< IntPtrT >::correlateProfileData().
Definition at line 71 of file InstrProfCorrelator.h.