LLVM: lib/DebugInfo/CodeView/EnumTables.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
11#include <type_traits>
12
13using namespace llvm;
15
16#define CV_ENUM_CLASS_ENT(enum_class, enum) \
17 { #enum, std::underlying_type_t<enum_class>(enum_class::enum) }
18
19#define CV_ENUM_ENT(ns, enum) \
20 { #enum, ns::enum }
21
23#define CV_SYMBOL(enum, val) {#enum, enum},
24#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
25#undef CV_SYMBOL
26};
27
29#define CV_TYPE(name, val) {#name, name},
30#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
31#undef CV_TYPE
32};
33
35#define CV_REGISTERS_X86
36#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
37#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
38#undef CV_REGISTER
39#undef CV_REGISTERS_X86
40};
41
43#define CV_REGISTERS_ARM
44#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
45#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
46#undef CV_REGISTER
47#undef CV_REGISTERS_ARM
48};
49
51#define CV_REGISTERS_ARM64
52#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
53#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
54#undef CV_REGISTER
55#undef CV_REGISTERS_ARM64
56};
57
64
75
89
96
110 {"Swift", SourceLanguage::OldSwift},
111};
112
124
139
146
213
237
254
263
273
278
317
332
339
347
357
373
381
395
401
429
435
440
454
455namespace llvm {
457
461
465
474
478
482
486
490
494
498
502
506
510
514
518
522
526
530
535
539
543
547
551
555
559
563
567
571
575
579
583
584}
585}
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
static const EnumEntry< uint16_t > MemberKindNames[]
Definition EnumTables.cpp:348
static const EnumEntry< uint16_t > RegisterNames_X86[]
Definition EnumTables.cpp:34
static const EnumEntry< uint32_t > FrameProcSymFlagNames[]
Definition EnumTables.cpp:214
static const EnumEntry< uint16_t > TypeModifierNames[]
Definition EnumTables.cpp:396
static const EnumEntry< uint16_t > PtrMemberRepNames[]
Definition EnumTables.cpp:382
static const EnumEntry< uint8_t > CallingConventions[]
Definition EnumTables.cpp:402
static const EnumEntry< codeview::SourceLanguage > SourceLanguages[]
Definition EnumTables.cpp:97
static const EnumEntry< uint8_t > FunctionOptionEnum[]
Definition EnumTables.cpp:430
static const EnumEntry< TypeLeafKind > TypeLeafNames[]
Definition EnumTables.cpp:28
static const EnumEntry< uint32_t > PublicSymFlagNames[]
Definition EnumTables.cpp:58
static const EnumEntry< uint16_t > LabelTypeEnum[]
Definition EnumTables.cpp:436
static const EnumEntry< uint32_t > FileChecksumNames[]
Definition EnumTables.cpp:140
static const EnumEntry< uint16_t > MethodOptionNames[]
Definition EnumTables.cpp:340
static const EnumEntry< unsigned > CPUTypeNames[]
Definition EnumTables.cpp:147
static const EnumEntry< uint16_t > RegisterNames_ARM[]
Definition EnumTables.cpp:42
#define CV_ENUM_ENT(ns, enum)
Definition EnumTables.cpp:19
static const EnumEntry< uint8_t > ProcSymFlagNames[]
Definition EnumTables.cpp:65
static const EnumEntry< uint16_t > TrampolineNames[]
Definition EnumTables.cpp:274
static const EnumEntry< uint8_t > MemberAccessNames[]
Definition EnumTables.cpp:333
static const EnumEntry< uint16_t > ExportSymFlagNames[]
Definition EnumTables.cpp:255
static const EnumEntry< uint16_t > RegisterNames_ARM64[]
Definition EnumTables.cpp:50
static const EnumEntry< COFF::SectionCharacteristics > ImageSectionCharacteristicNames[]
Definition EnumTables.cpp:280
static const EnumEntry< uint32_t > CompileSym2FlagNames[]
Definition EnumTables.cpp:113
static const EnumEntry< uint16_t > LocalFlags[]
Definition EnumTables.cpp:76
static const EnumEntry< uint32_t > ModuleSubstreamKindNames[]
Definition EnumTables.cpp:238
static const EnumEntry< uint16_t > JumpTableEntrySizeNames[]
Definition EnumTables.cpp:441
static const EnumEntry< uint8_t > FrameCookieKinds[]
Definition EnumTables.cpp:90
static const EnumEntry< uint8_t > PtrModeNames[]
Definition EnumTables.cpp:374
static const EnumEntry< uint16_t > ClassOptionNames[]
Definition EnumTables.cpp:318
static const EnumEntry< uint8_t > ThunkOrdinalNames[]
Definition EnumTables.cpp:264
static const EnumEntry< uint32_t > CompileSym3FlagNames[]
Definition EnumTables.cpp:125
static const EnumEntry< uint8_t > PtrKindNames[]
Definition EnumTables.cpp:358
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition EnumTables.cpp:16
static const EnumEntry< SymbolKind > SymbolTypeNames[]
Definition EnumTables.cpp:22
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A class that wrap the SHA1 algorithm.
A table of densely packed, null-terminated strings indexed by offset.
@ Swift
Calling convention for Swift.
@ C
The default llvm calling convention, compatible with C.
This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getMethodOptionNames()
Definition EnumTables.cpp:544
PointerMode
Equivalent to CV_ptrmode_e.
@ PointerToMemberFunction
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
MethodKind
Part of member attribute flags. (CV_methodprop_e)
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getCallingConventions()
Definition EnumTables.cpp:568
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getMemberAccessNames()
Definition EnumTables.cpp:540
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getPtrKindNames()
Definition EnumTables.cpp:552
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getPtrMemberRepNames()
Definition EnumTables.cpp:560
PointerKind
Equivalent to CV_ptrtype_e.
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
CompileSym3Flags
Corresponds to COMPILESYM3::Flags bitfield.
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getLabelTypeEnum()
Definition EnumTables.cpp:576
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getCompileSym2FlagNames()
Definition EnumTables.cpp:495
@ HasConstructorOrDestructor
@ HasOverloadedAssignmentOperator
LLVM_ABI ArrayRef< EnumEntry< COFF::SectionCharacteristics > > getImageSectionCharacteristicNames()
Definition EnumTables.cpp:532
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
@ MultipleInheritanceData
@ SingleInheritanceFunction
@ VirtualInheritanceFunction
@ MultipleInheritanceFunction
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getFileChecksumNames()
Definition EnumTables.cpp:503
LLVM_ABI ArrayRef< EnumEntry< TypeLeafKind > > getTypeLeafNames()
Definition EnumTables.cpp:462
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getExportSymFlagNames()
Definition EnumTables.cpp:515
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getJumpTableEntrySizeNames()
Definition EnumTables.cpp:580
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getTypeModifierNames()
Definition EnumTables.cpp:564
MethodOptions
Equivalent to CV_fldattr_t bitfield.
LLVM_ABI ArrayRef< EnumEntry< SymbolKind > > getSymbolTypeNames()
Definition EnumTables.cpp:458
@ ConstructorWithVirtualBases
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getMemberKindNames()
Definition EnumTables.cpp:548
MemberAccess
Source-level access specifier. (CV_access_e)
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getModuleSubstreamKindNames()
Definition EnumTables.cpp:519
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getLocalFlagNames()
Definition EnumTables.cpp:483
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getRegisterNames(CPUType Cpu)
Definition EnumTables.cpp:466
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getThunkOrdinalNames()
Definition EnumTables.cpp:523
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getPtrModeNames()
Definition EnumTables.cpp:556
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getProcSymFlagNames()
Definition EnumTables.cpp:479
LLVM_ABI ArrayRef< EnumEntry< unsigned > > getCPUTypeNames()
Definition EnumTables.cpp:507
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getFunctionOptionEnum()
Definition EnumTables.cpp:572
ModifierOptions
Equivalent to CV_modifier_t.
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getClassOptionNames()
Definition EnumTables.cpp:536
@ ProfileGuidedOptimization
@ NoStackOrderingForSecurityChecks
@ EncodedLocalBasePointerMask
@ AsynchronousExceptionHandling
@ HasStructuredExceptionHandling
@ EncodedParamBasePointerMask
LLVM_ABI ArrayRef< EnumEntry< SourceLanguage > > getSourceLanguageNames()
Definition EnumTables.cpp:491
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getFrameProcSymFlagNames()
Definition EnumTables.cpp:511
LLVM_ABI ArrayRef< EnumEntry< uint16_t > > getTrampolineNames()
Definition EnumTables.cpp:527
PublicSymFlags
Corresponds to the CV_PUBSYMFLAGS bitfield.
LabelType
Equivalent to CV_LABEL_TYPE_e.
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getPublicSymFlagNames()
Definition EnumTables.cpp:475
LLVM_ABI ArrayRef< EnumEntry< uint32_t > > getCompileSym3FlagNames()
Definition EnumTables.cpp:499
LLVM_ABI ArrayRef< EnumEntry< uint8_t > > getFrameCookieKindNames()
Definition EnumTables.cpp:487
This is an optimization pass for GlobalISel generic memory operations.
ArrayRef(const T &OneElt) -> ArrayRef< T >
Data in the SUBSEC_FRAMEDATA subection.