llvm::StaticDataProfileInfo

A class that holds the constants that represent static data and their profile information and provides methods to operate on them.

Synopsis

Declared in <llvm/Analysis/StaticDataProfileInfo.h>

class StaticDataProfileInfo;

Enums

NameDescription
StaticDataHotness Use signed enums for enum value comparison, and make 'LukewarmOrUnknown' as 0 so any accidentally uninitialized value will default to unknown.

Member Functions

NameDescription
StaticDataProfileInfo [constructor]Construct StaticDataProfileInfo with data-access profile combining EnableDataAccessProf.
addConstantProfileCount Add or clear the profile count for constant C.
getConstantHotnessUsingProfileCount Return the hotness of the constant C based on its profile count Count.
getConstantProfileCount If C has a count, return it. Otherwise, return std::nullopt.
getConstantSectionPrefix Return a section prefix for constant C based on profile data.
getSectionHotnessUsingDataAccessProfile Return the hotness based on section prefix SectionPrefix.
hotnessToStr Return the string representation of the hotness enum Hotness.

Data Members

NameDescription
ConstantProfileCounts Maps tracked constants to their accumulated profile counts.
ConstantWithoutCounts Keeps track of the constants that are seen at least once without profile counts.
EnableDataAccessProf When true, combine data-access profile hotness with PGO counts for section prefixes.