LLVM  14.0.0git
Namespaces | Macros | Functions | Variables
EnumTables.cpp File Reference
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/Support/ScopedPrinter.h"
#include <type_traits>
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
Include dependency graph for EnumTables.cpp:

Go to the source code of this file.

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 
 llvm::codeview
 

Macros

#define CV_ENUM_CLASS_ENT(enum_class, enum)   { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }
 
#define CV_ENUM_ENT(ns, enum)   { #enum, ns::enum }
 
#define CV_SYMBOL(enum, val)   {#enum, enum},
 
#define CV_TYPE(name, val)   {#name, name},
 
#define CV_REGISTERS_X86
 
#define CV_REGISTER(name, val)   CV_ENUM_CLASS_ENT(RegisterId, name),
 
#define CV_REGISTERS_ARM
 
#define CV_REGISTER(name, val)   CV_ENUM_CLASS_ENT(RegisterId, name),
 
#define CV_REGISTERS_ARM64
 
#define CV_REGISTER(name, val)   CV_ENUM_CLASS_ENT(RegisterId, name),
 

Functions

ArrayRef< EnumEntry< SymbolKind > > llvm::codeview::getSymbolTypeNames ()
 
ArrayRef< EnumEntry< TypeLeafKind > > llvm::codeview::getTypeLeafNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getRegisterNames (CPUType Cpu)
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getPublicSymFlagNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getProcSymFlagNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getLocalFlagNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getFrameCookieKindNames ()
 
ArrayRef< EnumEntry< SourceLanguage > > llvm::codeview::getSourceLanguageNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getCompileSym2FlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getCompileSym3FlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getFileChecksumNames ()
 
ArrayRef< EnumEntry< unsigned > > llvm::codeview::getCPUTypeNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getFrameProcSymFlagNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getExportSymFlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getModuleSubstreamKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getThunkOrdinalNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getTrampolineNames ()
 
ArrayRef< EnumEntry< COFF::SectionCharacteristics > > llvm::codeview::getImageSectionCharacteristicNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getClassOptionNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getMemberAccessNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getMethodOptionNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getMemberKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getPtrKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getPtrModeNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getPtrMemberRepNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getTypeModifierNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getCallingConventions ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getFunctionOptionEnum ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getLabelTypeEnum ()
 

Variables

static const EnumEntry< SymbolKindSymbolTypeNames []
 
static const EnumEntry< TypeLeafKindTypeLeafNames []
 
static const EnumEntry< uint16_tRegisterNames_X86 []
 
static const EnumEntry< uint16_tRegisterNames_ARM []
 
static const EnumEntry< uint16_tRegisterNames_ARM64 []
 
static const EnumEntry< uint32_tPublicSymFlagNames []
 
static const EnumEntry< uint8_t > ProcSymFlagNames []
 
static const EnumEntry< uint16_tLocalFlags []
 
static const EnumEntry< uint8_t > FrameCookieKinds []
 
static const EnumEntry< codeview::SourceLanguageSourceLanguages []
 
static const EnumEntry< uint32_tCompileSym2FlagNames []
 
static const EnumEntry< uint32_tCompileSym3FlagNames []
 
static const EnumEntry< uint32_tFileChecksumNames []
 
static const EnumEntry< unsigned > CPUTypeNames []
 
static const EnumEntry< uint32_tFrameProcSymFlagNames []
 
static const EnumEntry< uint32_tModuleSubstreamKindNames []
 
static const EnumEntry< uint16_tExportSymFlagNames []
 
static const EnumEntry< uint8_t > ThunkOrdinalNames []
 
static const EnumEntry< uint16_tTrampolineNames []
 
static const EnumEntry< COFF::SectionCharacteristicsImageSectionCharacteristicNames []
 
static const EnumEntry< uint16_tClassOptionNames []
 
static const EnumEntry< uint8_t > MemberAccessNames []
 
static const EnumEntry< uint16_tMethodOptionNames []
 
static const EnumEntry< uint16_tMemberKindNames []
 
static const EnumEntry< uint8_t > PtrKindNames []
 
static const EnumEntry< uint8_t > PtrModeNames []
 
static const EnumEntry< uint16_tPtrMemberRepNames []
 
static const EnumEntry< uint16_tTypeModifierNames []
 
static const EnumEntry< uint8_t > CallingConventions []
 
static const EnumEntry< uint8_t > FunctionOptionEnum []
 
static const EnumEntry< uint16_tLabelTypeEnum []
 

Macro Definition Documentation

◆ CV_ENUM_CLASS_ENT

#define CV_ENUM_CLASS_ENT (   enum_class,
  enum 
)    { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }

Definition at line 16 of file EnumTables.cpp.

◆ CV_ENUM_ENT

#define CV_ENUM_ENT (   ns,
  enum 
)    { #enum, ns::enum }

Definition at line 19 of file EnumTables.cpp.

◆ CV_REGISTER [1/3]

#define CV_REGISTER (   name,
  val 
)    CV_ENUM_CLASS_ENT(RegisterId, name),

◆ CV_REGISTER [2/3]

#define CV_REGISTER (   name,
  val 
)    CV_ENUM_CLASS_ENT(RegisterId, name),

◆ CV_REGISTER [3/3]

#define CV_REGISTER (   name,
  val 
)    CV_ENUM_CLASS_ENT(RegisterId, name),

◆ CV_REGISTERS_ARM

#define CV_REGISTERS_ARM

◆ CV_REGISTERS_ARM64

#define CV_REGISTERS_ARM64

◆ CV_REGISTERS_X86

#define CV_REGISTERS_X86

◆ CV_SYMBOL

#define CV_SYMBOL (   enum,
  val 
)    {#enum, enum},

◆ CV_TYPE

#define CV_TYPE (   name,
  val 
)    {#name, name},

Variable Documentation

◆ CallingConventions

const EnumEntry<uint8_t> CallingConventions[]
static

◆ ClassOptionNames

const EnumEntry<uint16_t> ClassOptionNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(ClassOptions, HasConstructorOrDestructor),
CV_ENUM_CLASS_ENT(ClassOptions, HasOverloadedOperator),
CV_ENUM_CLASS_ENT(ClassOptions, ContainsNestedClass),
CV_ENUM_CLASS_ENT(ClassOptions, HasOverloadedAssignmentOperator),
CV_ENUM_CLASS_ENT(ClassOptions, HasConversionOperator),
CV_ENUM_CLASS_ENT(ClassOptions, ForwardReference),
}

Definition at line 314 of file EnumTables.cpp.

Referenced by llvm::codeview::getClassOptionNames().

◆ CompileSym2FlagNames

const EnumEntry<uint32_t> CompileSym2FlagNames[]
static

◆ CompileSym3FlagNames

const EnumEntry<uint32_t> CompileSym3FlagNames[]
static

◆ CPUTypeNames

const EnumEntry<unsigned> CPUTypeNames[]
static

Definition at line 144 of file EnumTables.cpp.

Referenced by llvm::codeview::getCPUTypeNames().

◆ ExportSymFlagNames

const EnumEntry<uint16_t> ExportSymFlagNames[]
static
Initial value:

Definition at line 251 of file EnumTables.cpp.

Referenced by llvm::codeview::getExportSymFlagNames().

◆ FileChecksumNames

const EnumEntry<uint32_t> FileChecksumNames[]
static

◆ FrameCookieKinds

const EnumEntry<uint8_t> FrameCookieKinds[]
static
Initial value:

Definition at line 90 of file EnumTables.cpp.

Referenced by llvm::codeview::getFrameCookieKindNames().

◆ FrameProcSymFlagNames

const EnumEntry<uint32_t> FrameProcSymFlagNames[]
static

◆ FunctionOptionEnum

const EnumEntry<uint8_t> FunctionOptionEnum[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(FunctionOptions, ConstructorWithVirtualBases),
}

Definition at line 425 of file EnumTables.cpp.

Referenced by llvm::codeview::getFunctionOptionEnum().

◆ ImageSectionCharacteristicNames

const EnumEntry<COFF::SectionCharacteristics> ImageSectionCharacteristicNames[]
static

Definition at line 276 of file EnumTables.cpp.

Referenced by llvm::codeview::getImageSectionCharacteristicNames().

◆ LabelTypeEnum

const EnumEntry<uint16_t> LabelTypeEnum[]
static
Initial value:

Definition at line 431 of file EnumTables.cpp.

Referenced by llvm::codeview::getLabelTypeEnum().

◆ LocalFlags

const EnumEntry<uint16_t> LocalFlags[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(LocalSymFlags, IsAddressTaken),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsCompilerGenerated),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsOptimizedOut),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredGlobal),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredStatic),
}

Definition at line 76 of file EnumTables.cpp.

Referenced by llvm::codeview::getLocalFlagNames().

◆ MemberAccessNames

const EnumEntry<uint8_t> MemberAccessNames[]
static

◆ MemberKindNames

const EnumEntry<uint16_t> MemberKindNames[]
static
Initial value:

Definition at line 344 of file EnumTables.cpp.

Referenced by llvm::codeview::getMemberKindNames().

◆ MethodOptionNames

const EnumEntry<uint16_t> MethodOptionNames[]
static

◆ ModuleSubstreamKindNames

const EnumEntry<uint32_t> ModuleSubstreamKindNames[]
static

◆ ProcSymFlagNames

const EnumEntry<uint8_t> ProcSymFlagNames[]
static
Initial value:

Definition at line 65 of file EnumTables.cpp.

Referenced by llvm::codeview::getProcSymFlagNames().

◆ PtrKindNames

const EnumEntry<uint8_t> PtrKindNames[]
static
Initial value:

Definition at line 354 of file EnumTables.cpp.

Referenced by llvm::codeview::getPtrKindNames().

◆ PtrMemberRepNames

const EnumEntry<uint16_t> PtrMemberRepNames[]
static

◆ PtrModeNames

const EnumEntry<uint8_t> PtrModeNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(PointerMode, LValueReference),
CV_ENUM_CLASS_ENT(PointerMode, PointerToDataMember),
CV_ENUM_CLASS_ENT(PointerMode, PointerToMemberFunction),
CV_ENUM_CLASS_ENT(PointerMode, RValueReference),
}

Definition at line 370 of file EnumTables.cpp.

Referenced by llvm::codeview::getPtrModeNames().

◆ PublicSymFlagNames

const EnumEntry<uint32_t> PublicSymFlagNames[]
static

◆ RegisterNames_ARM

const EnumEntry<uint16_t> RegisterNames_ARM[]
static
Initial value:
= {
#define CV_REGISTERS_ARM
#define CV_REGISTER(name, val)
}

Definition at line 42 of file EnumTables.cpp.

Referenced by llvm::codeview::getRegisterNames().

◆ RegisterNames_ARM64

const EnumEntry<uint16_t> RegisterNames_ARM64[]
static
Initial value:
= {
#define CV_REGISTERS_ARM64
#define CV_REGISTER(name, val)
}

Definition at line 50 of file EnumTables.cpp.

Referenced by llvm::codeview::getRegisterNames().

◆ RegisterNames_X86

const EnumEntry<uint16_t> RegisterNames_X86[]
static
Initial value:
= {
#define CV_REGISTERS_X86
#define CV_REGISTER(name, val)
}

Definition at line 34 of file EnumTables.cpp.

Referenced by llvm::codeview::getRegisterNames().

◆ SourceLanguages

const EnumEntry<codeview::SourceLanguage> SourceLanguages[]
static

◆ SymbolTypeNames

const EnumEntry<SymbolKind> SymbolTypeNames[]
static
Initial value:
= {
#define CV_SYMBOL(enum, val)
}

Definition at line 22 of file EnumTables.cpp.

Referenced by llvm::codeview::getSymbolTypeNames().

◆ ThunkOrdinalNames

const EnumEntry<uint8_t> ThunkOrdinalNames[]
static

◆ TrampolineNames

const EnumEntry<uint16_t> TrampolineNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(TrampolineType, TrampIncremental),
}

Definition at line 270 of file EnumTables.cpp.

Referenced by llvm::codeview::getTrampolineNames().

◆ TypeLeafNames

const EnumEntry<TypeLeafKind> TypeLeafNames[]
static
Initial value:
= {
#define CV_TYPE(name, val)
}

Definition at line 28 of file EnumTables.cpp.

Referenced by llvm::codeview::getTypeLeafNames().

◆ TypeModifierNames

const EnumEntry<uint16_t> TypeModifierNames[]
static
Initial value:

Definition at line 392 of file EnumTables.cpp.

Referenced by llvm::codeview::getTypeModifierNames().

llvm::codeview::JScript
@ JScript
Definition: CodeView.h:161
llvm::codeview::MemberAccess
MemberAccess
Source-level access specifier. (CV_access_e)
Definition: CodeView.h:263
llvm::FPOpFusion::Standard
@ Standard
Definition: TargetOptions.h:38
llvm::Function
Definition: Function.h:61
llvm::codeview::ModifierOptions
ModifierOptions
Equivalent to CV_modifier_t.
Definition: CodeView.h:302
llvm::codeview::ProcSymFlags
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
Definition: CodeView.h:431
llvm::codeview::FunctionOptions
FunctionOptions
Definition: CodeView.h:247
llvm::tgtok::Code
@ Code
Definition: TGLexer.h:50
llvm::SHA256
Definition: SHA256.h:33
llvm::codeview::FileChecksumKind
FileChecksumKind
Definition: CodeView.h:564
llvm::codeview::FrameData
Data in the SUBSEC_FRAMEDATA subection.
Definition: CodeView.h:572
llvm::codeview::Link
@ Link
Definition: CodeView.h:154
llvm::codeview::MSIL
@ MSIL
Definition: CodeView.h:162
llvm::codeview::LabelType
LabelType
Equivalent to CV_LABEL_TYPE_e.
Definition: CodeView.h:295
CV_ENUM_CLASS_ENT
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
llvm::codeview::Cvtres
@ Cvtres
Definition: CodeView.h:155
llvm::codeview::HLSL
@ HLSL
Definition: CodeView.h:163
llvm::SHA1
A class that wrap the SHA1 algorithm.
Definition: SHA1.h:26
C
(vector float) vec_cmpeq(*A, *B) C
Definition: README_ALTIVEC.txt:86
llvm::codeview::Masm
@ Masm
Definition: CodeView.h:150
llvm::codeview::MethodKind
MethodKind
Part of member attribute flags. (CV_methodprop_e)
Definition: CodeView.h:271
llvm::codeview::FrameCookieKind
FrameCookieKind
Definition: CodeView.h:509
llvm::codeview::ClassOptions
ClassOptions
Definition: CodeView.h:204
llvm::codeview::Java
@ Java
Definition: CodeView.h:160
llvm::None
const NoneType None
Definition: None.h:23
CV_ENUM_ENT
#define CV_ENUM_ENT(ns, enum)
Definition: EnumTables.cpp:19
llvm::codeview::PointerMode
PointerMode
Equivalent to CV_ptrmode_e.
Definition: CodeView.h:351
llvm::codeview::FrameProcedureOptions
FrameProcedureOptions
Definition: CodeView.h:221
llvm::codeview::Fortran
@ Fortran
Definition: CodeView.h:149
llvm::MCID::Pseudo
@ Pseudo
Definition: MCInstrDesc.h:150
llvm::codeview::TrampolineType
TrampolineType
Definition: CodeView.h:561
llvm::pdb::Unknown
@ Unknown
Definition: PDBTypes.h:395
D
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
llvm::codeview::PublicSymFlags
PublicSymFlags
Corresponds to the CV_PUBSYMFLAGS bitfield.
Definition: CodeView.h:421
Generic
@ Generic
Definition: AArch64MCAsmInfo.cpp:23
llvm::MD5
Definition: MD5.h:41
llvm::codeview::Cvtpgd
@ Cvtpgd
Definition: CodeView.h:156
llvm::codeview::ILAsm
@ ILAsm
Definition: CodeView.h:159
llvm::codeview::SourceLanguage
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
Definition: CodeView.h:146
llvm::Reloc::Static
@ Static
Definition: CodeGen.h:22
llvm::codeview::PointerToMemberRepresentation
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
Definition: CodeView.h:374
llvm::codeview::CompileSym2Flags
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.
Definition: CodeView.h:445
llvm::codeview::Pascal
@ Pascal
Definition: CodeView.h:151
llvm::codeview::CSharp
@ CSharp
Definition: CodeView.h:157
llvm::codeview::VB
@ VB
Definition: CodeView.h:158
llvm::codeview::DebugSubsectionKind
DebugSubsectionKind
Definition: CodeView.h:313
llvm::codeview::Cobol
@ Cobol
Definition: CodeView.h:153
llvm::codeview::ThunkOrdinal
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:551
llvm::codeview::LocalSymFlags
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
Definition: CodeView.h:404
llvm::codeview::Cpp
@ Cpp
Definition: CodeView.h:148
llvm::codeview::Basic
@ Basic
Definition: CodeView.h:152
llvm::codeview::CallingConvention
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:176
llvm::codeview::PointerKind
PointerKind
Equivalent to CV_ptrtype_e.
Definition: CodeView.h:334
llvm::codeview::CompileSym3Flags
CompileSym3Flags
Corresponds to COMPILESYM3::Flags bitfield.
Definition: CodeView.h:461
llvm::codeview::ExportFlags
ExportFlags
Definition: CodeView.h:479
llvm::codeview::Swift
@ Swift
Definition: CodeView.h:168
llvm::codeview::MethodOptions
MethodOptions
Equivalent to CV_fldattr_t bitfield.
Definition: CodeView.h:282