16#ifndef LLVM_OBJECTYAML_BBADDRMAPYAML_H
17#define LLVM_OBJECTYAML_BBADDRMAPYAML_H
34 std::optional<llvm::yaml::Hex64>
Hash;
46 std::optional<std::vector<BBRangeEntry>>
BBRanges;
51 return BBRanges->front().BaseAddress;
61 for (
const BBEntry &BBE : *BBR.BBEntries)
99template <>
struct MappingTraits<BBAddrMapYAML::BBAddrMapEntry> {
100 static void mapping(IO &IO, BBAddrMapYAML::BBAddrMapEntry &
E);
103template <>
struct MappingTraits<BBAddrMapYAML::BBAddrMapEntry::BBRangeEntry> {
104 static void mapping(IO &IO, BBAddrMapYAML::BBAddrMapEntry::BBRangeEntry &
E);
107template <>
struct MappingTraits<BBAddrMapYAML::BBAddrMapEntry::BBEntry> {
108 static void mapping(IO &IO, BBAddrMapYAML::BBAddrMapEntry::BBEntry &
E);
111template <>
struct MappingTraits<BBAddrMapYAML::PGOAnalysisMapEntry> {
112 static void mapping(IO &IO, BBAddrMapYAML::PGOAnalysisMapEntry &
E);
116struct MappingTraits<BBAddrMapYAML::PGOAnalysisMapEntry::PGOBBEntry> {
117 static void mapping(IO &IO,
118 BBAddrMapYAML::PGOAnalysisMapEntry::PGOBBEntry &
E);
123 BBAddrMapYAML::PGOAnalysisMapEntry::PGOBBEntry::SuccessorEntry> {
126 BBAddrMapYAML::PGOAnalysisMapEntry::PGOBBEntry::SuccessorEntry &
E);
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
Utility for declaring that a std::vector of a particular type should be considered a YAML sequence.
This is an optimization pass for GlobalISel generic memory operations.
llvm::yaml::Hex64 Metadata
std::optional< std::vector< llvm::yaml::Hex64 > > CallsiteEndOffsets
std::optional< llvm::yaml::Hex64 > Hash
llvm::yaml::Hex64 AddressOffset
std::optional< std::vector< BBEntry > > BBEntries
std::optional< uint64_t > NumBlocks
llvm::yaml::Hex64 BaseAddress
std::optional< std::vector< BBRangeEntry > > BBRanges
llvm::yaml::Hex64 getFunctionAddress() const
std::optional< uint64_t > NumBBRanges
bool hasAnyCallsiteEndOffsets() const
llvm::yaml::Hex16 Feature
std::optional< uint32_t > PostLinkBrFreq
std::optional< std::vector< SuccessorEntry > > Successors
std::optional< uint64_t > BBFreq
std::optional< uint32_t > PostLinkBBFreq
std::optional< uint64_t > FuncEntryCount
std::optional< std::vector< PGOBBEntry > > PGOBBEntries
This class should be specialized by any type that needs to be converted to/from a YAML mapping.