1343171Sdim//===- FDRRecords.cpp -  XRay Flight Data Recorder Mode Records -----------===//
2343171Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6343171Sdim//
7343171Sdim//===----------------------------------------------------------------------===//
8343171Sdim//
9343171Sdim// Define types and operations on these types that represent the different kinds
10343171Sdim// of records we encounter in XRay flight data recorder mode traces.
11343171Sdim//
12343171Sdim//===----------------------------------------------------------------------===//
13343171Sdim#include "llvm/XRay/FDRRecords.h"
14343171Sdim
15343171Sdimnamespace llvm {
16343171Sdimnamespace xray {
17343171Sdim
18343171SdimError BufferExtents::apply(RecordVisitor &V) { return V.visit(*this); }
19343171SdimError WallclockRecord::apply(RecordVisitor &V) { return V.visit(*this); }
20343171SdimError NewCPUIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }
21343171SdimError TSCWrapRecord::apply(RecordVisitor &V) { return V.visit(*this); }
22343171SdimError CustomEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }
23343171SdimError CallArgRecord::apply(RecordVisitor &V) { return V.visit(*this); }
24343171SdimError PIDRecord::apply(RecordVisitor &V) { return V.visit(*this); }
25343171SdimError NewBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }
26343171SdimError EndBufferRecord::apply(RecordVisitor &V) { return V.visit(*this); }
27343171SdimError FunctionRecord::apply(RecordVisitor &V) { return V.visit(*this); }
28343171SdimError CustomEventRecordV5::apply(RecordVisitor &V) { return V.visit(*this); }
29343171SdimError TypedEventRecord::apply(RecordVisitor &V) { return V.visit(*this); }
30343171Sdim
31343171SdimStringRef Record::kindToString(RecordKind K) {
32343171Sdim  switch (K) {
33343171Sdim  case RecordKind::RK_Metadata:
34343171Sdim    return "Metadata";
35343171Sdim  case RecordKind::RK_Metadata_BufferExtents:
36343171Sdim    return "Metadata:BufferExtents";
37343171Sdim  case RecordKind::RK_Metadata_WallClockTime:
38343171Sdim    return "Metadata:WallClockTime";
39343171Sdim  case RecordKind::RK_Metadata_NewCPUId:
40343171Sdim    return "Metadata:NewCPUId";
41343171Sdim  case RecordKind::RK_Metadata_TSCWrap:
42343171Sdim    return "Metadata:TSCWrap";
43343171Sdim  case RecordKind::RK_Metadata_CustomEvent:
44343171Sdim    return "Metadata:CustomEvent";
45343171Sdim  case RecordKind::RK_Metadata_CustomEventV5:
46343171Sdim    return "Metadata:CustomEventV5";
47343171Sdim  case RecordKind::RK_Metadata_CallArg:
48343171Sdim    return "Metadata:CallArg";
49343171Sdim  case RecordKind::RK_Metadata_PIDEntry:
50343171Sdim    return "Metadata:PIDEntry";
51343171Sdim  case RecordKind::RK_Metadata_NewBuffer:
52343171Sdim    return "Metadata:NewBuffer";
53343171Sdim  case RecordKind::RK_Metadata_EndOfBuffer:
54343171Sdim    return "Metadata:EndOfBuffer";
55343171Sdim  case RecordKind::RK_Metadata_TypedEvent:
56343171Sdim    return "Metadata:TypedEvent";
57343171Sdim  case RecordKind::RK_Metadata_LastMetadata:
58343171Sdim    return "Metadata:LastMetadata";
59343171Sdim  case RecordKind::RK_Function:
60343171Sdim    return "Function";
61343171Sdim  }
62343171Sdim  return "Unknown";
63343171Sdim}
64343171Sdim
65343171Sdim} // namespace xray
66343171Sdim} // namespace llvm
67