llvm::DwarfInstrProfCorrelator

DwarfInstrProfCorrelator - A child of InstrProfCorrelatorImpl that takes DWARF debug info as input to correlate profiles.

Synopsis

Declared in <llvm/ProfileData/InstrProfCorrelator.h>

template<class IntPtrT>
class DwarfInstrProfCorrelator
    : public InstrProfCorrelatorImpl<IntPtrT>

Base Classes

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

Enums

NameDescription
InstrProfCorrelatorKind Pointer width of a concrete InstrProfCorrelatorImpl specialization.
ProfCorrelatorKind Indicate if we should use the debug info or profile metadata sections to correlate.

Member Functions

NameDescription
DwarfInstrProfCorrelator [constructor]Construct a DWARF-based correlator from DICtx and Ctx.
correlateProfileData [virtual]Construct a ProfileData vector used to correlate raw instrumentation data to their functions.
dumpYaml [virtual]Process debug info and dump the correlation data.
getCountersSectionSize Return the size of the counters section in bytes.
getDataPointer Return a pointer to the underlying ProfileData vector that this class constructs.
getDataSize Return the number of ProfileData elements.
getKind Return whether this correlator uses 32-bit or 64-bit pointers.
getNamesPointer Return a pointer to the names string that this class constructs.
getNamesSize Return the number of bytes in the names string.

Static Member Functions

NameDescription
classof Return true if C is an InstrProfCorrelatorImpl of this pointer width.
get get overloads

Static Data Members

NameDescription
CFGHashAttributeName DWARF annotation name for the function CFG hash.
FunctionNameAttributeName DWARF annotation name for the instrumented function's name.
NumBitmapBitsAttributeName DWARF annotation name for the number of bitmap bits.
NumCountersAttributeName DWARF annotation name for the number of counters.

Protected Types

NameDescription
Context Object-file context used while correlating raw profile data.
CorrelationData Collection of probes produced while dumping correlation data as YAML.
Probe Probe metadata describing one instrumented function for YAML dumps.

Protected Member Functions

NameDescription
addDataProbe Append a ProfileData record for one instrumented function probe.
correlateProfileData [virtual]Correlate raw instrumentation data into the ProfileData vector.
correlateProfileDataImpl [virtual]Correlate profile data using the backend-specific probe source.
correlateProfileNameImpl [virtual]Correlate and build the function names string for this profile.
dumpYaml [virtual]Dump correlated probe metadata as YAML.
maybeSwap Byte-swap Value when the profile and host endianness differ.

Protected Data Members

NameDescription
Ctx Correlation context for the object file being processed.
Data ProfileData records materialized during correlation.
Names Concatenated function names string constructed during correlation.
NamesVec Individual function names collected before building Names.