LLVM 22.0.0git
MemProfYAML.h File Reference

Go to the source code of this file.

Classes

struct  llvm::memprof::GUIDMemProfRecordPair
struct  llvm::memprof::YamlDataAccessProfData
struct  llvm::memprof::AllMemProfData
struct  llvm::yaml::ScalarTraits< memprof::GUIDHex64 >
struct  llvm::yaml::MappingTraits< memprof::Frame >
class  llvm::yaml::MappingTraits< memprof::Frame >::FrameWithHex64
struct  llvm::yaml::CustomMappingTraits< memprof::PortableMemInfoBlock >
struct  llvm::yaml::MappingTraits< memprof::AllocationInfo >
struct  llvm::yaml::MappingTraits< memprof::CallSiteInfo >
class  llvm::yaml::MappingTraits< memprof::CallSiteInfo >::CallSiteInfoWithHex64Guids
struct  llvm::yaml::MappingTraits< memprof::GUIDMemProfRecordPair >
struct  llvm::yaml::MappingTraits< memprof::SourceLocation >
struct  llvm::yaml::MappingTraits< memprof::DataAccessProfRecord >
struct  llvm::yaml::MappingTraits< memprof::YamlDataAccessProfData >
struct  llvm::yaml::MappingTraits< memprof::AllMemProfData >
struct  llvm::yaml::SequenceTraits< SmallVector< memprof::GUIDHex64 > >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::memprof
namespace  llvm::yaml

Macros

#define MIBEntryDef(NameTag, Name, Type)
#define MIBEntryDef(NameTag, Name, Type)

Macro Definition Documentation

◆ MIBEntryDef [1/2]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
if (KeyStr == #Name) { \
uint64_t Value; \
Io.mapRequired(KeyStr.str().c_str(), Value); \
MIB.Name = static_cast<Type>(Value); \
MIB.Schema.set(llvm::to_underlying(memprof::Meta::Name)); \
return; \
}
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.

◆ MIBEntryDef [2/2]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
if (Schema.test(llvm::to_underlying(memprof::Meta::Name))) { \
uint64_t Value = MIB.Name; \
Io.mapRequired(#Name, Value); \
}