llvm::InstrProfCorrelator

InstrProfCorrelator - A base class used to create raw instrumentation data to their functions.

Synopsis

Declared in <llvm/ProfileData/InstrProfCorrelator.h>

class InstrProfCorrelator;

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
~InstrProfCorrelator [destructor] [virtual]Destroy the correlator.
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.
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
get Construct a correlator for the object file at Filename.

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
InstrProfCorrelator [constructor]Construct a correlator of kind K with context Ctx.

Protected Data Members

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

Friends

NameDescription
llvm::yaml::MappingTraitsThis class should be specialized by any type that needs to be converted to/from a YAML mapping. For example:
llvm::yaml::SequenceElementTraitsThis class should be specialized by any type for which vectors of that type need to be converted to/from a YAML sequence.

Derived Classes

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