Go to the documentation of this file.
12 #ifndef LLVM_XRAY_YAMLXRAYRECORD_H
13 #define LLVM_XRAY_YAMLXRAYRECORD_H
15 #include <type_traits>
55 template <>
struct ScalarEnumerationTraits<xray::
RecordTypes> {
68 IO.mapRequired(
"version", Header.
Version);
69 IO.mapRequired(
"type", Header.
Type);
71 IO.mapRequired(
"nonstop-tsc", Header.
NonstopTSC);
78 IO.mapRequired(
"type",
Record.RecordType);
79 IO.mapOptional(
"func-id",
Record.FuncId);
80 IO.mapOptional(
"function",
Record.Function);
81 IO.mapOptional(
"args",
Record.CallArgs);
82 IO.mapRequired(
"cpu",
Record.CPU);
83 IO.mapOptional(
"thread",
Record.TId, 0U);
84 IO.mapOptional(
"process",
Record.PId, 0U);
85 IO.mapRequired(
"kind",
Record.Type);
86 IO.mapRequired(
"tsc",
Record.TSC);
87 IO.mapOptional(
"data",
Record.Data);
90 static constexpr
bool flow =
true;
97 IO.mapRequired(
"header",
Trace.Header);
98 IO.mapRequired(
"records",
Trace.Records);
107 #endif // LLVM_XRAY_YAMLXRAYRECORD_H
This is an optimization pass for GlobalISel generic memory operations.
#define LLVM_YAML_IS_SEQUENCE_VECTOR(type)
The instances of the Type class are immutable: once they are created, they are never changed.
YAMLXRayFileHeader Header
static void enumeration(IO &IO, xray::RecordTypes &Type)
RecordTypes
Determines the supported types of records that could be seen in XRay traces.
static void mapping(IO &IO, xray::YAMLXRayRecord &Record)
static void mapping(IO &IO, xray::YAMLXRayTrace &Trace)
std::vector< YAMLXRayRecord > Records
std::vector< uint64_t > CallArgs