LLVM 20.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"

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)    { #enum, std::underlying_type_t<enum_class>(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 ()
 
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 
)     { #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 
)     { #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
Initial value:
= {
}
@ Generic
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
Definition: CodeView.h:184

Definition at line 402 of file EnumTables.cpp.

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

◆ ClassOptionNames

const EnumEntry<uint16_t> ClassOptionNames[]
static

◆ CompileSym2FlagNames

const EnumEntry<uint32_t> CompileSym2FlagNames[]
static

◆ CompileSym3FlagNames

const EnumEntry<uint32_t> CompileSym3FlagNames[]
static

◆ CPUTypeNames

const EnumEntry<unsigned> CPUTypeNames[]
static

Definition at line 147 of file EnumTables.cpp.

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

◆ ExportSymFlagNames

const EnumEntry<uint16_t> ExportSymFlagNames[]
static

◆ FileChecksumNames

const EnumEntry<uint32_t> FileChecksumNames[]
static

◆ FrameCookieKinds

const EnumEntry<uint8_t> FrameCookieKinds[]
static

◆ FrameProcSymFlagNames

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

Definition at line 214 of file EnumTables.cpp.

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

◆ FunctionOptionEnum

const EnumEntry<uint8_t> FunctionOptionEnum[]
static

◆ 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

◆ 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

◆ MemberAccessNames

const EnumEntry<uint8_t> MemberAccessNames[]
static

◆ MemberKindNames

const EnumEntry<uint16_t> MemberKindNames[]
static

◆ MethodOptionNames

const EnumEntry<uint16_t> MethodOptionNames[]
static

◆ ModuleSubstreamKindNames

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

Definition at line 238 of file EnumTables.cpp.

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

◆ ProcSymFlagNames

const EnumEntry<uint8_t> ProcSymFlagNames[]
static

◆ PtrKindNames

const EnumEntry<uint8_t> PtrKindNames[]
static

◆ PtrMemberRepNames

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

Definition at line 382 of file EnumTables.cpp.

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

◆ PtrModeNames

const EnumEntry<uint8_t> PtrModeNames[]
static

◆ 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
Initial value:
= {
{"Swift", SourceLanguage::OldSwift},
}
#define CV_ENUM_ENT(ns, enum)
Definition: EnumTables.cpp:19
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
Definition: CodeView.h:146
@ D
The DMD compiler emits 'D' for the CV source language.
Definition: CodeView.h:173

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

const EnumEntry<uint8_t> ThunkOrdinalNames[]
static

◆ TrampolineNames

const EnumEntry<uint16_t> TrampolineNames[]
static

◆ 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