16#define CV_ENUM_CLASS_ENT(enum_class, enum) \
17 {{#enum}, std::underlying_type_t<enum_class>(enum_class::enum)}
19#define CV_ENUM_ENT(ns, enum) {{#enum}, ns::enum}
26#define CV_SYMBOL(enum, val) {{#enum}, enum},
27#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
30 static constexpr auto SymbolTypeNames =
32 return SymbolTypeNames;
37#define CV_TYPE(name, val) {{#name}, name},
38#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
47#define CV_REGISTERS_X86
48#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
49#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
51#undef CV_REGISTERS_X86
53 static constexpr auto RegisterNames_X86 =
57#define CV_REGISTERS_ARM
58#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
59#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
61#undef CV_REGISTERS_ARM
63 static constexpr auto RegisterNames_ARM =
67#define CV_REGISTERS_ARM64
68#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
69#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
71#undef CV_REGISTERS_ARM64
73 static constexpr auto RegisterNames_ARM64 =
77 return RegisterNames_ARM;
79 return RegisterNames_ARM64;
81 return RegisterNames_X86;
91 static constexpr auto PublicSymFlagNames =
93 return PublicSymFlagNames;
107 static constexpr auto ProcSymFlagNames =
109 return ProcSymFlagNames;
137 static constexpr auto FrameCookieKinds =
139 return FrameCookieKinds;
168 {{
"Swift"}, SourceLanguage::OldSwift},
170 static constexpr auto SourceLanguages =
172 return SourceLanguages;
187 static constexpr auto CompileSym2FlagNames =
189 return CompileSym2FlagNames;
207 static constexpr auto CompileSym3FlagNames =
209 return CompileSym3FlagNames;
219 static constexpr auto FileChecksumNames =
221 return FileChecksumNames;
320 static constexpr auto FrameProcSymFlagNames =
322 return FrameProcSymFlagNames;
334 static constexpr auto ExportSymFlagNames =
336 return ExportSymFlagNames;
356 static constexpr auto ModuleSubstreamKindNames =
358 return ModuleSubstreamKindNames;
371 static constexpr auto ThunkOrdinalNames =
373 return ThunkOrdinalNames;
381 static constexpr auto TrampolineNames =
383 return TrampolineNames;
388 ImageSectionCharacteristicNameDefs[] = {
425 static constexpr auto ImageSectionCharacteristicNames =
427 return ImageSectionCharacteristicNames;
445 static constexpr auto ClassOptionNames =
447 return ClassOptionNames;
457 static constexpr auto MemberAccessNames =
459 return MemberAccessNames;
470 static constexpr auto MethodOptionNames =
472 return MethodOptionNames;
485 static constexpr auto MemberKindNames =
487 return MemberKindNames;
537 static constexpr auto PtrMemberRepNames =
539 return PtrMemberRepNames;
548 static constexpr auto TypeModifierNames =
550 return TypeModifierNames;
581 static constexpr auto CallingConventions =
583 return CallingConventions;
592 static constexpr auto FunctionOptionEnum =
594 return FunctionOptionEnum;
603 return LabelTypeEnum;
620 static constexpr auto JumpTableEntrySizeNames =
622 return JumpTableEntrySizeNames;
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
#define CV_ENUM_ENT(ns, enum)
#define CV_ENUM_CLASS_ENT(enum_class, enum)
#define BUILD_ENUM_STRINGS(Tab)
@ C
The default llvm calling convention, compatible with C.
LLVM_ABI EnumStrings< uint32_t, 1 > getModuleSubstreamKindNames()
PointerMode
Equivalent to CV_ptrmode_e.
@ PointerToMemberFunction
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
LLVM_ABI EnumStrings< uint8_t, 1 > getMemberAccessNames()
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
MethodKind
Part of member attribute flags. (CV_methodprop_e)
LLVM_ABI EnumStrings< uint8_t, 1 > getCallingConventions()
LLVM_ABI EnumStrings< uint32_t, 1 > getFrameProcSymFlagNames()
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.
LLVM_ABI EnumStrings< uint8_t, 1 > getFunctionOptionEnum()
LLVM_ABI EnumStrings< uint32_t, 1 > getCompileSym2FlagNames()
PointerKind
Equivalent to CV_ptrtype_e.
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
LLVM_ABI EnumStrings< uint8_t, 1 > getThunkOrdinalNames()
CompileSym3Flags
Corresponds to COMPILESYM3::Flags bitfield.
LLVM_ABI EnumStrings< SourceLanguage, 1 > getSourceLanguageNames()
@ HasConstructorOrDestructor
@ HasOverloadedAssignmentOperator
LLVM_ABI EnumStrings< unsigned, 1 > getCPUTypeNames()
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
@ MultipleInheritanceData
@ SingleInheritanceFunction
@ VirtualInheritanceFunction
@ MultipleInheritanceFunction
LLVM_ABI EnumStrings< uint16_t, 1 > getJumpTableEntrySizeNames()
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
LLVM_ABI EnumStrings< uint8_t, 1 > getPtrKindNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getLocalFlagNames()
LLVM_ABI EnumStrings< uint32_t, 1 > getPublicSymFlagNames()
MethodOptions
Equivalent to CV_fldattr_t bitfield.
LLVM_ABI EnumStrings< uint8_t, 1 > getPtrModeNames()
LLVM_ABI EnumStrings< COFF::SectionCharacteristics, 1 > getImageSectionCharacteristicNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getTrampolineNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getTypeModifierNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getMemberKindNames()
LLVM_ABI EnumStrings< uint32_t, 1 > getCompileSym3FlagNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getMethodOptionNames()
@ ConstructorWithVirtualBases
MemberAccess
Source-level access specifier. (CV_access_e)
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
LLVM_ABI EnumStrings< uint16_t, 1 > getLabelTypeEnum()
LLVM_ABI EnumStrings< SymbolKind, 1 > getSymbolTypeNames()
LLVM_ABI EnumStrings< uint32_t, 1 > getFileChecksumNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getPtrMemberRepNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getRegisterNames(CPUType Cpu)
LLVM_ABI EnumStrings< uint8_t, 1 > getFrameCookieKindNames()
LLVM_ABI EnumStrings< uint8_t, 1 > getProcSymFlagNames()
ModifierOptions
Equivalent to CV_modifier_t.
@ ProfileGuidedOptimization
@ NoStackOrderingForSecurityChecks
@ EncodedLocalBasePointerMask
@ AsynchronousExceptionHandling
@ HasStructuredExceptionHandling
@ EncodedParamBasePointerMask
LLVM_ABI EnumStrings< TypeLeafKind, 1 > getTypeLeafNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getExportSymFlagNames()
LLVM_ABI EnumStrings< uint16_t, 1 > getClassOptionNames()
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,...
This is an optimization pass for GlobalISel generic memory operations.
Compile-time data representation of enum entries.
Data in the SUBSEC_FRAMEDATA subection.