summaryrefslogtreecommitdiff
path: root/include/llvm/XRay/YAMLXRayRecord.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/XRay/YAMLXRayRecord.h')
-rw-r--r--include/llvm/XRay/YAMLXRayRecord.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/XRay/YAMLXRayRecord.h b/include/llvm/XRay/YAMLXRayRecord.h
index 7e1a4112818ed..b436aefb1e8fd 100644
--- a/include/llvm/XRay/YAMLXRayRecord.h
+++ b/include/llvm/XRay/YAMLXRayRecord.h
@@ -37,6 +37,7 @@ struct YAMLXRayRecord {
std::string Function;
uint64_t TSC;
uint32_t TId;
+ std::vector<uint64_t> CallArgs;
};
struct YAMLXRayTrace {
@@ -54,6 +55,8 @@ template <> struct ScalarEnumerationTraits<xray::RecordTypes> {
static void enumeration(IO &IO, xray::RecordTypes &Type) {
IO.enumCase(Type, "function-enter", xray::RecordTypes::ENTER);
IO.enumCase(Type, "function-exit", xray::RecordTypes::EXIT);
+ IO.enumCase(Type, "function-tail-exit", xray::RecordTypes::TAIL_EXIT);
+ IO.enumCase(Type, "function-enter-arg", xray::RecordTypes::ENTER_ARG);
}
};
@@ -73,6 +76,7 @@ template <> struct MappingTraits<xray::YAMLXRayRecord> {
IO.mapRequired("type", Record.RecordType);
IO.mapRequired("func-id", Record.FuncId);
IO.mapOptional("function", Record.Function);
+ IO.mapOptional("args", Record.CallArgs);
IO.mapRequired("cpu", Record.CPU);
IO.mapRequired("thread", Record.TId);
IO.mapRequired("kind", Record.Type);