LLVM 17.0.0git
|
InstrProfCorrelatorImpl - A child of InstrProfCorrelator with a template pointer type so that the ProfileData vector can be materialized. More...
#include "llvm/ProfileData/InstrProfCorrelator.h"
Public Member Functions | |
InstrProfCorrelatorImpl (std::unique_ptr< InstrProfCorrelator::Context > Ctx) | |
const RawInstrProf::ProfileData< IntPtrT > * | getDataPointer () const |
Return a pointer to the underlying ProfileData vector that this class constructs. | |
size_t | getDataSize () const |
Return the number of ProfileData elements. | |
InstrProfCorrelatorImpl (std::unique_ptr< InstrProfCorrelator::Context > Ctx) | |
InstrProfCorrelatorImpl (std::unique_ptr< InstrProfCorrelator::Context > Ctx) | |
bool | classof (const InstrProfCorrelator *C) |
bool | classof (const InstrProfCorrelator *C) |
![]() | |
virtual Error | correlateProfileData ()=0 |
Construct a ProfileData vector used to correlate raw instrumentation data to their functions. | |
virtual Error | dumpYaml (raw_ostream &OS)=0 |
Process debug info and dump the correlation data. | |
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 bool | classof (const InstrProfCorrelator *C) |
static llvm::Expected< std::unique_ptr< InstrProfCorrelatorImpl< IntPtrT > > > | get (std::unique_ptr< InstrProfCorrelator::Context > Ctx, const object::ObjectFile &Obj) |
![]() | |
static llvm::Expected< std::unique_ptr< InstrProfCorrelator > > | get (StringRef DebugInfoFilename) |
Protected Member Functions | |
Error | correlateProfileData () override |
Construct a ProfileData vector used to correlate raw instrumentation data to their functions. | |
virtual void | correlateProfileDataImpl (InstrProfCorrelator::CorrelationData *Data=nullptr)=0 |
Error | dumpYaml (raw_ostream &OS) override |
Process debug info and dump the correlation data. | |
void | addProbe (StringRef FunctionName, uint64_t CFGHash, IntPtrT CounterOffset, IntPtrT FunctionPtr, uint32_t NumCounters) |
![]() | |
InstrProfCorrelator (InstrProfCorrelatorKind K, std::unique_ptr< Context > Ctx) | |
Protected Attributes | |
std::vector< RawInstrProf::ProfileData< IntPtrT > > | Data |
![]() | |
const std::unique_ptr< Context > | Ctx |
std::string | Names |
std::vector< std::string > | NamesVec |
Additional Inherited Members | |
![]() | |
enum | InstrProfCorrelatorKind { CK_32Bit , CK_64Bit } |
![]() | |
static const char * | FunctionNameAttributeName = "Function Name" |
static const char * | CFGHashAttributeName = "CFG Hash" |
static const char * | NumCountersAttributeName = "Num Counters" |
InstrProfCorrelatorImpl - A child of InstrProfCorrelator with a template pointer type so that the ProfileData vector can be materialized.
Definition at line 113 of file InstrProfCorrelator.h.
llvm::InstrProfCorrelatorImpl< IntPtrT >::InstrProfCorrelatorImpl | ( | std::unique_ptr< InstrProfCorrelator::Context > | Ctx | ) |
llvm::InstrProfCorrelatorImpl< uint32_t >::InstrProfCorrelatorImpl | ( | std::unique_ptr< InstrProfCorrelator::Context > | Ctx | ) |
Definition at line 109 of file InstrProfCorrelator.cpp.
llvm::InstrProfCorrelatorImpl< uint64_t >::InstrProfCorrelatorImpl | ( | std::unique_ptr< InstrProfCorrelator::Context > | Ctx | ) |
Definition at line 114 of file InstrProfCorrelator.cpp.
|
protected |
Definition at line 196 of file InstrProfCorrelator.cpp.
References llvm::IndexedInstrProf::ComputeHash(), llvm::Data, and llvm::StringRef::str().
|
static |
bool llvm::InstrProfCorrelatorImpl< uint32_t >::classof | ( | const InstrProfCorrelator * | C | ) |
Definition at line 119 of file InstrProfCorrelator.cpp.
References llvm::CallingConv::C.
bool llvm::InstrProfCorrelatorImpl< uint64_t >::classof | ( | const InstrProfCorrelator * | C | ) |
Definition at line 123 of file InstrProfCorrelator.cpp.
References llvm::CallingConv::C.
|
overrideprotectedvirtual |
Construct a ProfileData vector used to correlate raw instrumentation data to their functions.
Implements llvm::InstrProfCorrelator.
Definition at line 145 of file InstrProfCorrelator.cpp.
References assert(), llvm::collectPGOFuncNameStrings(), llvm::Data, and Names.
|
protectedpure virtual |
|
overrideprotectedvirtual |
Process debug info and dump the correlation data.
Implements llvm::InstrProfCorrelator.
Definition at line 183 of file InstrProfCorrelator.cpp.
References llvm::Data, OS, and llvm::Error::success().
|
static |
Definition at line 131 of file InstrProfCorrelator.cpp.
References llvm::DWARFContext::create(), llvm::object::Binary::isELF(), and llvm::object::Binary::isMachO().
|
inline |
Return a pointer to the underlying ProfileData vector that this class constructs.
Definition at line 120 of file InstrProfCorrelator.h.
References llvm::InstrProfCorrelatorImpl< IntPtrT >::Data.
|
inline |
Return the number of ProfileData elements.
Definition at line 125 of file InstrProfCorrelator.h.
References llvm::InstrProfCorrelatorImpl< IntPtrT >::Data.
|
protected |
Definition at line 132 of file InstrProfCorrelator.h.
Referenced by llvm::InstrProfCorrelatorImpl< IntPtrT >::getDataPointer(), and llvm::InstrProfCorrelatorImpl< IntPtrT >::getDataSize().