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