LLVM  15.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
MemProf.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/ProfileData/MemProfData.inc"
#include "llvm/Support/Endian.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdint>
#include "llvm/ProfileData/MIBEntryDef.inc"
Include dependency graph for MemProf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::memprof::PortableMemInfoBlock
 
struct  llvm::memprof::Frame
 
struct  llvm::memprof::IndexedAllocationInfo
 
struct  llvm::memprof::AllocationInfo
 
struct  llvm::memprof::IndexedMemProfRecord
 
struct  llvm::memprof::MemProfRecord
 
class  llvm::memprof::RecordLookupTrait
 
class  llvm::memprof::RecordWriterTrait
 
class  llvm::memprof::FrameWriterTrait
 
class  llvm::memprof::FrameLookupTrait
 

Namespaces

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

Macros

#define MIBEntryDef(NameTag, Name, Type)   NameTag,
 
#define MIBEntryDef(NameTag, Name, Type)   Name = Block.Name;
 
#define MIBEntryDef(NameTag, Name, Type)
 
#define MIBEntryDef(NameTag, Name, Type)
 
#define MIBEntryDef(NameTag, Name, Type)   OS << " " << #Name << ": " << Name << "\n";
 
#define MIBEntryDef(NameTag, Name, Type)   Type get##Name() const { return Name; }
 
#define MIBEntryDef(NameTag, Name, Type)   List.push_back(Meta::Name);
 
#define MIBEntryDef(NameTag, Name, Type)
 
#define MIBEntryDef(NameTag, Name, Type)   Result += sizeof(Type);
 
#define MIBEntryDef(NameTag, Name, Type)   Type Name = Type();
 

Typedefs

using llvm::memprof::MemProfSchema = llvm::SmallVector< Meta, static_cast< int >(Meta::Size)>
 
using llvm::memprof::FrameId = uint64_t
 

Enumerations

enum  llvm::memprof::Meta : uint64_t { llvm::memprof::Meta::Start = 0, llvm::memprof::Meta::MIBEntryDef, llvm::memprof::Meta::Size }
 

Functions

Expected< MemProfSchema > llvm::memprof::readMemProfSchema (const unsigned char *&Buffer)
 

Macro Definition Documentation

◆ MIBEntryDef [1/10]

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

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [2/10]

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

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [3/10]

#define MIBEntryDef (   NameTag,
  Name,
  Type 
)
Value:
case Meta::Name: { \
Name = endian::readNext<Type, little, unaligned>(Ptr); \
} break;

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [4/10]

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

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [5/10]

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

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [6/10]

#define MIBEntryDef (   NameTag,
  Name,
  Type 
)    Type get##Name() const { return Name; }

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [7/10]

#define MIBEntryDef (   NameTag,
  Name,
  Type 
)    List.push_back(Meta::Name);

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [8/10]

#define MIBEntryDef (   NameTag,
  Name,
  Type 
)
Value:
if (Other.get##Name() != get##Name()) \
return false;

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [9/10]

#define MIBEntryDef (   NameTag,
  Name,
  Type 
)    Result += sizeof(Type);

Definition at line 131 of file MemProf.h.

◆ MIBEntryDef [10/10]

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

Definition at line 131 of file MemProf.h.

llvm::GraphProgram::Name
Name
Definition: GraphWriter.h:50
get
Should compile to something r4 addze r3 instead we get
Definition: README.txt:24
llvm::msgpack::Type
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
Definition: MsgPackReader.h:48
Other
Optional< std::vector< StOtherPiece > > Other
Definition: ELFYAML.cpp:1237