LLVM 22.0.0git
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"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::codeview

Macros

#define CV_ENUM_CLASS_ENT(enum_class, enum)
#define CV_ENUM_ENT(ns, enum)
#define CV_SYMBOL(enum, val)
#define CV_TYPE(name, val)
#define CV_REGISTERS_X86
#define CV_REGISTER(name, val)
#define CV_REGISTERS_ARM
#define CV_REGISTER(name, val)
#define CV_REGISTERS_ARM64
#define CV_REGISTER(name, val)

Functions

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

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_tProcSymFlagNames []
static const EnumEntry< uint16_tLocalFlags []
static const EnumEntry< uint8_tFrameCookieKinds []
static const EnumEntry< codeview::SourceLanguageSourceLanguages []
static const EnumEntry< uint32_tCompileSym2FlagNames []
static const EnumEntry< uint32_tCompileSym3FlagNames []
static const EnumEntry< uint32_tFileChecksumNames []
static const EnumEntry< unsignedCPUTypeNames []
static const EnumEntry< uint32_tFrameProcSymFlagNames []
static const EnumEntry< uint32_tModuleSubstreamKindNames []
static const EnumEntry< uint16_tExportSymFlagNames []
static const EnumEntry< uint8_tThunkOrdinalNames []
static const EnumEntry< uint16_tTrampolineNames []
static const EnumEntry< COFF::SectionCharacteristicsImageSectionCharacteristicNames []
static const EnumEntry< uint16_tClassOptionNames []
static const EnumEntry< uint8_tMemberAccessNames []
static const EnumEntry< uint16_tMethodOptionNames []
static const EnumEntry< uint16_tMemberKindNames []
static const EnumEntry< uint8_tPtrKindNames []
static const EnumEntry< uint8_tPtrModeNames []
static const EnumEntry< uint16_tPtrMemberRepNames []
static const EnumEntry< uint16_tTypeModifierNames []
static const EnumEntry< uint8_tCallingConventions []
static const EnumEntry< uint8_tFunctionOptionEnum []
static const EnumEntry< uint16_tLabelTypeEnum []
static const EnumEntry< uint16_tJumpTableEntrySizeNames []

Macro Definition Documentation

◆ CV_ENUM_CLASS_ENT

#define CV_ENUM_CLASS_ENT ( enum_class,
enum )
Value:
{ #enum, std::underlying_type_t<enum_class>(enum_class::enum) }

Definition at line 16 of file EnumTables.cpp.

◆ CV_ENUM_ENT

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

Definition at line 19 of file EnumTables.cpp.

◆ CV_REGISTER [1/3]

#define CV_REGISTER ( name,
val )
Value:
#define CV_ENUM_CLASS_ENT(enum_class, enum)
static const char * name

◆ CV_REGISTER [2/3]

#define CV_REGISTER ( name,
val )

◆ CV_REGISTER [3/3]

#define CV_REGISTER ( name,
val )

◆ 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 )
Value:
{#enum, enum},

◆ CV_TYPE

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

Variable Documentation

◆ CallingConventions

const EnumEntry<uint8_t> CallingConventions[]
static
Initial value:
= {
}
@ Generic
@ Swift
Calling convention for Swift.
Definition CallingConv.h:69
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition CodeView.h:157

Definition at line 402 of file EnumTables.cpp.

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

◆ ClassOptionNames

const EnumEntry<uint16_t> ClassOptionNames[]
static
Initial value:
= {
}
This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.

Definition at line 318 of file EnumTables.cpp.

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

◆ CompileSym2FlagNames

◆ CompileSym3FlagNames

◆ CPUTypeNames

const EnumEntry<unsigned> CPUTypeNames[]
static

Definition at line 147 of file EnumTables.cpp.

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

◆ ExportSymFlagNames

◆ FileChecksumNames

const EnumEntry<uint32_t> FileChecksumNames[]
static

◆ FrameCookieKinds

◆ FrameProcSymFlagNames

const EnumEntry<uint32_t> FrameProcSymFlagNames[]
static
Initial value:
= {
}

Definition at line 214 of file EnumTables.cpp.

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

◆ FunctionOptionEnum

◆ ImageSectionCharacteristicNames

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

Definition at line 280 of file EnumTables.cpp.

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

◆ JumpTableEntrySizeNames

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

Definition at line 441 of file EnumTables.cpp.

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

◆ LabelTypeEnum

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

Definition at line 436 of file EnumTables.cpp.

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

◆ LocalFlags

const EnumEntry<uint16_t> LocalFlags[]
static
Initial value:
= {
}
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
Definition CodeView.h:389

Definition at line 76 of file EnumTables.cpp.

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

◆ MemberAccessNames

◆ MemberKindNames

◆ MethodOptionNames

◆ ModuleSubstreamKindNames

const EnumEntry<uint32_t> ModuleSubstreamKindNames[]
static
Initial value:
= {
}
A table of densely packed, null-terminated strings indexed by offset.
Definition StringTable.h:33
Data in the SUBSEC_FRAMEDATA subection.
Definition CodeView.h:558

Definition at line 238 of file EnumTables.cpp.

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

◆ ProcSymFlagNames

◆ PtrKindNames

const EnumEntry<uint8_t> PtrKindNames[]
static
Initial value:
= {
}
PointerKind
Equivalent to CV_ptrtype_e.
Definition CodeView.h:319

Definition at line 358 of file EnumTables.cpp.

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

◆ PtrMemberRepNames

const EnumEntry<uint16_t> PtrMemberRepNames[]
static
Initial value:
= {
}
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
Definition CodeView.h:359

Definition at line 382 of file EnumTables.cpp.

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

◆ PtrModeNames

◆ PublicSymFlagNames

◆ 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
Initial value:
= {
{"Swift", SourceLanguage::OldSwift},
}
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
#define CV_ENUM_ENT(ns, enum)
@ C
The default llvm calling convention, compatible with C.
Definition CallingConv.h:34
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
Definition CodeView.h:147

Definition at line 97 of file EnumTables.cpp.

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

◆ 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

◆ TrampolineNames

◆ 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