13#ifndef LLVM_XRAY_FDRRECORDS_H
14#define LLVM_XRAY_FDRRECORDS_H
147 Seconds(S), Nanos(
N) {}
222 Size(S), TSC(T), CPU(
C), Data(
std::
move(
D)) {}
224 int32_t
size()
const {
return Size; }
252 int32_t
size()
const {
return Size; }
253 int32_t
delta()
const {
return Delta; }
280 int32_t
size()
const {
return Size; }
281 int32_t
delta()
const {
return Delta; }
328 int32_t
pid()
const {
return PID; }
351 int32_t
tid()
const {
return TID; }
379 static constexpr unsigned kFunctionRecordSize = 8;
428 : E(DE), OffsetPtr(
OP), Version(V) {}
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
void visit(MachineFunction &MF, MachineBasicBlock &Start, std::function< void(MachineBasicBlock *)> op)
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
friend class RecordInitializer
static bool classof(const Record *R)
BufferExtents(uint64_t S)
friend class RecordInitializer
static bool classof(const Record *R)
CallArgRecord(uint64_t A)
friend class RecordInitializer
static bool classof(const Record *R)
CustomEventRecordV5(int32_t S, int32_t D, std::string P)
friend class RecordInitializer
static bool classof(const Record *R)
CustomEventRecord(uint64_t S, uint64_t T, uint16_t C, std::string D)
static bool classof(const Record *R)
friend class RecordInitializer
RecordTypes recordType() const
int32_t functionId() const
FunctionRecord(RecordTypes K, int32_t F, uint32_t D)
static bool classof(const Record *R)
NewBufferRecord(int32_t T)
friend class RecordInitializer
static bool classof(const Record *R)
friend class RecordInitializer
NewCPUIDRecord(uint16_t C, uint64_t T)
static bool classof(const Record *R)
friend class RecordInitializer
static bool classof(const Record *R)
static constexpr uint16_t DefaultVersion
RecordInitializer(DataExtractor &DE, uint64_t &OP)
RecordInitializer(DataExtractor &DE, uint64_t &OP, uint16_t V)
virtual Error visit(TSCWrapRecord &)=0
virtual Error visit(CallArgRecord &)=0
virtual Error visit(TypedEventRecord &)=0
virtual Error visit(CustomEventRecord &)=0
virtual Error visit(PIDRecord &)=0
virtual Error visit(WallclockRecord &)=0
virtual Error visit(FunctionRecord &)=0
virtual Error visit(NewBufferRecord &)=0
virtual ~RecordVisitor()=default
virtual Error visit(BufferExtents &)=0
virtual Error visit(CustomEventRecordV5 &)=0
virtual Error visit(NewCPUIDRecord &)=0
virtual Error visit(EndBufferRecord &)=0
static LLVM_ABI StringRef kindToString(RecordKind K)
Record(const Record &)=delete
@ RK_Metadata_BufferExtents
@ RK_Metadata_EndOfBuffer
@ RK_Metadata_WallClockTime
@ RK_Metadata_CustomEvent
@ RK_Metadata_LastMetadata
@ RK_Metadata_CustomEventV5
virtual Error apply(RecordVisitor &V)=0
Record & operator=(Record &&)=delete
virtual ~Record()=default
RecordKind getRecordType() const
Record & operator=(const Record &)=delete
friend class RecordInitializer
TSCWrapRecord(uint64_t B)
static bool classof(const Record *R)
friend class RecordInitializer
TypedEventRecord(int32_t S, int32_t D, uint16_t E, std::string P)
static bool classof(const Record *R)
uint16_t eventType() const
friend class RecordInitializer
static bool classof(const Record *R)
WallclockRecord(uint64_t S, uint32_t N)
@ C
The default llvm calling convention, compatible with C.
RecordTypes
Determines the supported types of records that could be seen in XRay traces.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.