Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
MemProf.h File Reference

Go to the source code of this file.

Classes

struct  llvm::memprof::PortableMemInfoBlock
struct  llvm::memprof::Frame
struct  llvm::memprof::IndexedCallSiteInfo
struct  llvm::memprof::IndexedAllocationInfo
struct  llvm::memprof::AllocationInfo
struct  llvm::memprof::IndexedMemProfRecord
struct  llvm::memprof::CallSiteInfo
struct  llvm::memprof::MemProfRecord
class  llvm::memprof::RecordLookupTrait
class  llvm::memprof::RecordWriterTrait
class  llvm::memprof::FrameWriterTrait
class  llvm::memprof::FrameLookupTrait
class  llvm::memprof::CallStackWriterTrait
class  llvm::memprof::CallStackLookupTrait
struct  llvm::memprof::LineLocation

Namespaces

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

Macros

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

Typedefs

using llvm::memprof::MemProfSchema = llvm::SmallVector<Meta, static_cast<int>(Meta::Size)>
using llvm::memprof::FrameId = uint64_t
using llvm::memprof::LinearFrameId = uint32_t
using llvm::memprof::CallStackId = uint64_t
using llvm::memprof::LinearCallStackId = uint32_t
using llvm::memprof::CallEdgeTy = std::pair<LineLocation, uint64_t>

Enumerations

enum  llvm::memprof::IndexedVersion : uint64_t { llvm::memprof::Version2 = 2 , llvm::memprof::Version3 = 3 , llvm::memprof::Version4 = 4 }
enum class  llvm::memprof::Meta : uint64_t { llvm::memprof::Start = 0 , llvm::memprof::MIBEntryDef }

Functions

llvm::StringRef llvm::memprof::getMemprofOptionsSymbolDarwinLinkageName ()
llvm::StringRef llvm::memprof::getMemprofOptionsSymbolName ()
LLVM_ABI MemProfSchema llvm::memprof::getFullSchema ()
LLVM_ABI MemProfSchema llvm::memprof::getHotColdSchema ()
LLVM_ABI GlobalValue::GUID llvm::memprof::getGUID (const StringRef FunctionName)
LLVM_ABI Expected< MemProfSchemallvm::memprof::readMemProfSchema (const unsigned char *&Buffer)

Variables

constexpr uint64_t llvm::memprof::MinimumSupportedVersion = Version2
constexpr uint64_t llvm::memprof::MaximumSupportedVersion = Version4

Macro Definition Documentation

◆ MIBEntryDef [1/10]

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

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [2/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
Name = Block.Name;

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [3/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
case Meta::Name: { \
} break;
value_type readNext(const CharT *&memory, endianness endian)
Read a value of a particular endianness from a buffer, and increment the buffer past that value.
Definition Endian.h:77

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [4/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
case Meta::Name: { \
LE.write<Type>(Name); \
} break;

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [5/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
OS << " " << #Name << ": " << Name << "\n";

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [6/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
Type get##Name() const { \
assert(Schema[llvm::to_underlying(Meta::Name)]); \
return Name; \
}
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [7/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
void set##Name(Type NewVal) { \
assert(Schema[llvm::to_underlying(Meta::Name)]); \
Name = NewVal; \
}

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [8/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
if (Schema[llvm::to_underlying(Meta::Name)] && \
Other.get##Name() != get##Name()) \
return false;

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [9/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
case Meta::Name: { \
Result += sizeof(Type); \
} break;

Definition at line 70 of file MemProf.h.

◆ MIBEntryDef [10/10]

#define MIBEntryDef ( NameTag,
Name,
Type )
Value:
Type Name = Type();

Definition at line 70 of file MemProf.h.