LLVM: include/llvm/ExecutionEngine/Orc/Shared/PerfSharedStructs.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_PERFSHAREDSTRUCTS_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_PERFSHAREDSTRUCTS_H
15
17
18namespace llvm {
19
20namespace orc {
21
22
23
33
49
56
59
62};
63
77
78
85
86
87
89
91
92template <>
94public:
96 return SPSPerfJITRecordPrefix::AsArgList::size(
98 }
101 if (!SPSPerfJITRecordPrefix::AsArgList::deserialize(IB, Id, Val.TotalSize))
102 return false;
104 return true;
105 }
107 return SPSPerfJITRecordPrefix::AsArgList::serialize(
109 }
110};
111
115
116template <>
118public:
120 return SPSPerfJITCodeLoadRecord::AsArgList::size(
123 }
124
126 return SPSPerfJITCodeLoadRecord::AsArgList::deserialize(
129 }
130
132 return SPSPerfJITCodeLoadRecord::AsArgList::serialize(
135 }
136};
137
139
140template <>
142public:
144 return SPSPerfJITDebugEntry::AsArgList::size(Val.Addr, Val.Lineno,
146 }
147
149 return SPSPerfJITDebugEntry::AsArgList::deserialize(
151 }
152
154 return SPSPerfJITDebugEntry::AsArgList::serialize(OB, Val.Addr, Val.Lineno,
156 }
157};
158
161
162template <>
165public:
167 return SPSPerfJITDebugInfoRecord::AsArgList::size(Val.Prefix, Val.CodeAddr,
169 }
171 return SPSPerfJITDebugInfoRecord::AsArgList::deserialize(
173 }
176 return SPSPerfJITDebugInfoRecord::AsArgList::serialize(
178 }
179};
180
184template <>
187public:
189 return SPSPerfJITCodeUnwindingInfoRecord::AsArgList::size(
192 }
195 return SPSPerfJITCodeUnwindingInfoRecord::AsArgList::deserialize(
198 }
201 return SPSPerfJITCodeUnwindingInfoRecord::AsArgList::serialize(
204 }
205};
206
210template <>
212public:
214 return SPSPerfJITRecordBatch::AsArgList::size(
216 }
218 return SPSPerfJITRecordBatch::AsArgList::deserialize(
220 }
222 return SPSPerfJITRecordBatch::AsArgList::serialize(
224 }
225};
226
227}
228
229}
230
231}
232
233#endif
static size_t size(const PerfJITDebugEntry &Val)
Definition PerfSharedStructs.h:143
static bool deserialize(SPSInputBuffer &IB, PerfJITDebugEntry &Val)
Definition PerfSharedStructs.h:148
static bool serialize(SPSOutputBuffer &OB, const PerfJITDebugEntry &Val)
Definition PerfSharedStructs.h:153
PerfJITRecordType
Definition PerfSharedStructs.h:24
@ JIT_CODE_LOAD
Definition PerfSharedStructs.h:25
@ JIT_CODE_MOVE
Definition PerfSharedStructs.h:26
@ JIT_CODE_CLOSE
Definition PerfSharedStructs.h:28
@ JIT_CODE_UNWINDING_INFO
Definition PerfSharedStructs.h:29
@ JIT_CODE_MAX
Definition PerfSharedStructs.h:31
@ JIT_CODE_DEBUG_INFO
Definition PerfSharedStructs.h:27
This is an optimization pass for GlobalISel generic memory operations.
Definition PerfSharedStructs.h:38
PerfJITRecordPrefix Prefix
Definition PerfSharedStructs.h:39
uint64_t Vma
Definition PerfSharedStructs.h:43
uint64_t CodeIndex
Definition PerfSharedStructs.h:46
uint64_t CodeSize
Definition PerfSharedStructs.h:45
std::string Name
Definition PerfSharedStructs.h:47
uint64_t CodeAddr
Definition PerfSharedStructs.h:44
uint32_t Tid
Definition PerfSharedStructs.h:42
uint32_t Pid
Definition PerfSharedStructs.h:41
Definition PerfSharedStructs.h:64
uint64_t EHFrameHdrAddr
Definition PerfSharedStructs.h:71
uint64_t EHFrameHdrSize
Definition PerfSharedStructs.h:68
uint64_t UnwindDataSize
Definition PerfSharedStructs.h:67
uint64_t EHFrameAddr
Definition PerfSharedStructs.h:74
std::string EHFrameHdr
Definition PerfSharedStructs.h:72
uint64_t MappedSize
Definition PerfSharedStructs.h:69
PerfJITRecordPrefix Prefix
Definition PerfSharedStructs.h:65
Definition PerfSharedStructs.h:50
uint64_t Addr
Definition PerfSharedStructs.h:51
uint32_t Discrim
Definition PerfSharedStructs.h:53
std::string Name
Definition PerfSharedStructs.h:54
uint32_t Lineno
Definition PerfSharedStructs.h:52
Definition PerfSharedStructs.h:57
std::vector< PerfJITDebugEntry > Entries
Definition PerfSharedStructs.h:61
uint64_t CodeAddr
Definition PerfSharedStructs.h:60
PerfJITRecordPrefix Prefix
Definition PerfSharedStructs.h:58
Definition PerfSharedStructs.h:79
std::vector< PerfJITDebugInfoRecord > DebugInfoRecords
Definition PerfSharedStructs.h:80
PerfJITCodeUnwindingInfoRecord UnwindingRecord
Definition PerfSharedStructs.h:83
std::vector< PerfJITCodeLoadRecord > CodeLoadRecords
Definition PerfSharedStructs.h:81
Definition PerfSharedStructs.h:34
uint32_t TotalSize
Definition PerfSharedStructs.h:36
PerfJITRecordType Id
Definition PerfSharedStructs.h:35