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.