class InstrProfCorrelatorImpl

Declaration

template <class IntPtrT>
class InstrProfCorrelatorImpl : public InstrProfCorrelator { /* full declaration omitted */ };

Description

InstrProfCorrelatorImpl - A child of InstrProfCorrelator with a template pointer type so that the ProfileData vector can be materialized.

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:90

Inherits from: InstrProfCorrelator

Templates

IntPtrT

Member Variables

protected std::vector<RawInstrProf::ProfileData<IntPtrT>> Data
private llvm::DenseSet<IntPtrT> CounterOffsets

Inherited from InstrProfCorrelator:

protected Ctx
protected Names
protected NamesVec
public static FunctionNameAttributeName
public static CFGHashAttributeName
public static NumCountersAttributeName

Method Overview

  • public InstrProfCorrelatorImpl<IntPtrT>(std::unique_ptr<InstrProfCorrelator::Context> Ctx)
  • private InstrProfCorrelatorImpl<IntPtrT>(llvm::InstrProfCorrelator::InstrProfCorrelatorKind Kind, std::unique_ptr<InstrProfCorrelator::Context> Ctx)
  • protected void addProbe(llvm::StringRef FunctionName, uint64_t CFGHash, IntPtrT CounterOffset, IntPtrT FunctionPtr, uint32_t NumCounters)
  • public static bool classof(const llvm::InstrProfCorrelator * C)
  • protected llvm::Error correlateProfileData()
  • protected virtual void correlateProfileDataImpl()
  • public static llvm::Expected<std::unique_ptr<InstrProfCorrelatorImpl<IntPtrT>>> get(std::unique_ptr<InstrProfCorrelator::Context> Ctx, const object::ObjectFile & Obj)
  • public const RawInstrProf::ProfileData<IntPtrT> * getDataPointer() const
  • public size_t getDataSize() const
  • private template <class T>T maybeSwap(T Value) const

Inherited from InstrProfCorrelator:

Methods

InstrProfCorrelatorImpl<IntPtrT>(
    std::unique_ptr<InstrProfCorrelator::Context>
        Ctx)

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:92

Parameters

std::unique_ptr<InstrProfCorrelator::Context> Ctx

InstrProfCorrelatorImpl<IntPtrT>(
    llvm::InstrProfCorrelator::
        InstrProfCorrelatorKind Kind,
    std::unique_ptr<InstrProfCorrelator::Context>
        Ctx)

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:118

Parameters

llvm::InstrProfCorrelator::InstrProfCorrelatorKind Kind
std::unique_ptr<InstrProfCorrelator::Context> Ctx

void addProbe(llvm::StringRef FunctionName,
              uint64_t CFGHash,
              IntPtrT CounterOffset,
              IntPtrT FunctionPtr,
              uint32_t NumCounters)

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:114

Parameters

llvm::StringRef FunctionName
uint64_t CFGHash
IntPtrT CounterOffset
IntPtrT FunctionPtr
uint32_t NumCounters

static bool classof(
    const llvm::InstrProfCorrelator* C)

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:93

Parameters

const llvm::InstrProfCorrelator* C

llvm::Error correlateProfileData()

Description

Construct a ProfileData vector used to correlate raw instrumentation data to their functions.

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:111

virtual void correlateProfileDataImpl()

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:112

static llvm::Expected<std::unique_ptr<
    InstrProfCorrelatorImpl<IntPtrT>>>
get(std::unique_ptr<InstrProfCorrelator::Context>
        Ctx,
    const object::ObjectFile& Obj)

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:105

Parameters

std::unique_ptr<InstrProfCorrelator::Context> Ctx
const object::ObjectFile& Obj

const RawInstrProf::ProfileData<IntPtrT>*
getDataPointer() const

Description

Return a pointer to the underlying ProfileData vector that this class constructs.

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:97

size_t getDataSize() const

Description

Return the number of ProfileData elements.

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:102

template <class T>
T maybeSwap(T Value) const

Declared at: llvm/include/llvm/ProfileData/InstrProfCorrelator.h:124

Templates

T

Parameters

T Value