LLVM: lib/DebugInfo/PDB/PDBExtras.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
11
12using namespace llvm;
14
15#define CASE_OUTPUT_ENUM_CLASS_STR(Class, Value, Str, Stream) \
16 case Class::Value: \
17 Stream << Str; \
18 break;
19
20#define CASE_OUTPUT_ENUM_CLASS_NAME(Class, Value, Stream) \
21 CASE_OUTPUT_ENUM_CLASS_STR(Class, Value, #Value, Stream)
22
25 switch (Type) {
37 default:
38 OS << "Unknown";
39 }
40 return OS;
41}
42
45 switch (Type) {
67 }
68 return OS;
69}
70
73 OS << "__";
74 switch (Conv) {
100 }
101 return OS;
102}
103
105 switch (Data) {
116 }
117 return OS;
118}
119
123 switch (CpuReg.Reg) {
124#define CV_REGISTERS_ARM
125#define CV_REGISTER(name, val) \
126 case codeview::RegisterId:📛 \
127 OS << #name; \
128 return OS;
129#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
130#undef CV_REGISTER
131#undef CV_REGISTERS_ARM
132
133 default:
134 break;
135 }
137 switch (CpuReg.Reg) {
138#define CV_REGISTERS_ARM64
139#define CV_REGISTER(name, val) \
140 case codeview::RegisterId:📛 \
141 OS << #name; \
142 return OS;
143#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
144#undef CV_REGISTER
145#undef CV_REGISTERS_ARM64
146
147 default:
148 break;
149 }
150 } else {
151 switch (CpuReg.Reg) {
152#define CV_REGISTERS_X86
153#define CV_REGISTER(name, val) \
154 case codeview::RegisterId:📛 \
155 OS << #name; \
156 return OS;
157#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
158#undef CV_REGISTER
159#undef CV_REGISTERS_X86
160
161 default:
162 break;
163 }
164 }
165 OS << static_cast(CpuReg.Reg);
166 return OS;
167}
168
170 switch (Loc) {
182 "regrelaliasindir", OS)
183 default:
184 OS << "Unknown";
185 }
186 return OS;
187}
188
199 }
200 return OS;
201}
202
205 switch (Checksum) {
210 }
211 return OS;
212}
213
215 switch (Lang) {
241 }
242 return OS;
243}
244
246 switch (Tag) {
289 default:
290 OS << "Unknown SymTag " << uint32_t(Tag);
291 }
292 return OS;
293}
294
301 }
302 return OS;
303}
304
306 switch (Type) {
311 }
312 return OS;
313}
314
338 default:
339 OS << "Unknown";
340 }
341 return OS;
342}
343
346 switch (Compression) {
351 OS)
353 default:
354 OS << "Unknown (" << Compression << ")";
355 }
356 return OS;
357}
358
360 switch (Value.Type) {
362 OS << (Value.Value.Bool ? "true" : "false");
363 break;
366 break;
369 break;
372 break;
375 break;
377 OS << static_cast(Value.Value.Int8);
378 break;
381 break;
384 break;
387 break;
390 break;
392 OS << static_cast(Value.Value.UInt8);
393 break;
396 break;
397 default:
398 OS << Value.Type;
399 }
400 return OS;
401}
402
408
411 OS << Tag.first << ":" << Tag.second << " ";
412 }
413 return OS;
414}
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
block placement Basic Block Placement Stats
Function const char TargetMachine * Machine
LLVM Value Representation.
LLVM_ABI Value(Type *Ty, unsigned scid)
This class implements an extremely fast bulk output stream that can only output to a stream.
@ Swift
Calling convention for Swift.
@ C
The default llvm calling convention, compatible with C.
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
PDB_Checksum
Specifies the hash algorithm that a source file from a PDB was hashed with.
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
raw_ostream & operator<<(LinePrinter &Printer, const T &Item)
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
LLVM_ABI raw_ostream & dumpPDBSourceCompression(raw_ostream &OS, uint32_t Compression)
Definition PDBExtras.cpp:344
codeview::SourceLanguage PDB_Lang
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
std::unordered_map< PDB_SymType, int > TagStats
codeview::CallingConvention PDB_CallingConv
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr uintptr_t uintptr_t Version