[lldb] [llvm] [CodeView][NFC] Use compact enum tables. (PR #206071)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 26 08:05:29 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Alexis Engelke (aengelke)
<details>
<summary>Changes</summary>
Largely a straight-forward replacement.
---
Patch is 76.65 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/206071.diff
11 Files Affected:
- (modified) lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp (+6-7)
- (modified) llvm/include/llvm/DebugInfo/CodeView/EnumTables.h (+31-32)
- (modified) llvm/include/llvm/DebugInfo/PDB/Native/EnumTables.h (+2-2)
- (modified) llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (+2-9)
- (modified) llvm/lib/DebugInfo/CodeView/EnumTables.cpp (+524-483)
- (modified) llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp (+43-66)
- (modified) llvm/lib/DebugInfo/LogicalView/Core/LVSourceLanguage.cpp (+2-4)
- (modified) llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp (+2-7)
- (modified) llvm/lib/DebugInfo/PDB/Native/EnumTables.cpp (+16-23)
- (modified) llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp (+8-9)
- (modified) llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp (+16-18)
``````````diff
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
index f28509acbf79f..32644aad98405 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
@@ -14,10 +14,10 @@
#include "lldb/Utility/Stream.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/Enum.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
-#include "llvm/Support/ScopedPrinter.h"
using namespace lldb;
using namespace lldb_private;
@@ -36,18 +36,17 @@ static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::A
break;
}
- llvm::ArrayRef<llvm::EnumEntry<uint16_t>> register_names =
+ llvm::EnumStrings<uint16_t> register_names =
llvm::codeview::getRegisterNames(cpu_type);
- auto it = llvm::find_if(
- register_names,
- [®_name](const llvm::EnumEntry<uint16_t> ®ister_entry) {
- return reg_name.compare_insensitive(register_entry.Name) == 0;
+ auto it =
+ llvm::find_if(register_names, [®_name](const auto ®ister_entry) {
+ return reg_name.compare_insensitive(register_entry.name()) == 0;
});
if (it == register_names.end())
return LLDB_INVALID_REGNUM;
- auto reg_id = static_cast<llvm::codeview::RegisterId>(it->Value);
+ auto reg_id = static_cast<llvm::codeview::RegisterId>(it->value());
return npdb::GetLLDBRegisterNumber(arch_type, reg_id);
}
diff --git a/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h b/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
index d4b48d932806f..0dfa3d5b0942a 100644
--- a/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
+++ b/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
@@ -9,47 +9,46 @@
#ifndef LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H
#define LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H
-#include "llvm/ADT/ArrayRef.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/Support/Compiler.h"
#include <cstdint>
namespace llvm {
-template <typename T> struct EnumEntry;
+template <typename, unsigned> class EnumStrings;
namespace codeview {
-LLVM_ABI ArrayRef<EnumEntry<SymbolKind>> getSymbolTypeNames();
-LLVM_ABI ArrayRef<EnumEntry<TypeLeafKind>> getTypeLeafNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getRegisterNames(CPUType Cpu);
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getLocalFlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getFrameCookieKindNames();
-LLVM_ABI ArrayRef<EnumEntry<SourceLanguage>> getSourceLanguageNames();
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getCompileSym2FlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getCompileSym3FlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getFileChecksumNames();
-LLVM_ABI ArrayRef<EnumEntry<unsigned>> getCPUTypeNames();
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getFrameProcSymFlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getExportSymFlagNames();
-LLVM_ABI ArrayRef<EnumEntry<uint32_t>> getModuleSubstreamKindNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getThunkOrdinalNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getTrampolineNames();
-LLVM_ABI ArrayRef<EnumEntry<COFF::SectionCharacteristics>>
+LLVM_ABI EnumStrings<SymbolKind, 1> getSymbolTypeNames();
+LLVM_ABI EnumStrings<TypeLeafKind, 1> getTypeLeafNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getRegisterNames(CPUType Cpu);
+LLVM_ABI EnumStrings<uint32_t, 1> getPublicSymFlagNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getProcSymFlagNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getLocalFlagNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getFrameCookieKindNames();
+LLVM_ABI EnumStrings<SourceLanguage, 1> getSourceLanguageNames();
+LLVM_ABI EnumStrings<uint32_t, 1> getCompileSym2FlagNames();
+LLVM_ABI EnumStrings<uint32_t, 1> getCompileSym3FlagNames();
+LLVM_ABI EnumStrings<uint32_t, 1> getFileChecksumNames();
+LLVM_ABI EnumStrings<unsigned, 1> getCPUTypeNames();
+LLVM_ABI EnumStrings<uint32_t, 1> getFrameProcSymFlagNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getExportSymFlagNames();
+LLVM_ABI EnumStrings<uint32_t, 1> getModuleSubstreamKindNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getThunkOrdinalNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getTrampolineNames();
+LLVM_ABI EnumStrings<COFF::SectionCharacteristics, 1>
getImageSectionCharacteristicNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getClassOptionNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getMemberAccessNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getMethodOptionNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getMemberKindNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getPtrKindNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getPtrModeNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getPtrMemberRepNames();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getTypeModifierNames();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getCallingConventions();
-LLVM_ABI ArrayRef<EnumEntry<uint8_t>> getFunctionOptionEnum();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getLabelTypeEnum();
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getJumpTableEntrySizeNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getClassOptionNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getMemberAccessNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getMethodOptionNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getMemberKindNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getPtrKindNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getPtrModeNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getPtrMemberRepNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getTypeModifierNames();
+LLVM_ABI EnumStrings<uint8_t, 1> getCallingConventions();
+LLVM_ABI EnumStrings<uint8_t, 1> getFunctionOptionEnum();
+LLVM_ABI EnumStrings<uint16_t, 1> getLabelTypeEnum();
+LLVM_ABI EnumStrings<uint16_t, 1> getJumpTableEntrySizeNames();
} // end namespace codeview
} // end namespace llvm
diff --git a/llvm/include/llvm/DebugInfo/PDB/Native/EnumTables.h b/llvm/include/llvm/DebugInfo/PDB/Native/EnumTables.h
index 1226fb877ee8d..9b3775c6aed07 100644
--- a/llvm/include/llvm/DebugInfo/PDB/Native/EnumTables.h
+++ b/llvm/include/llvm/DebugInfo/PDB/Native/EnumTables.h
@@ -12,9 +12,9 @@
#include "llvm/ADT/ArrayRef.h"
namespace llvm {
-template <typename T> struct EnumEntry;
+template <typename, unsigned> class EnumStrings;
namespace pdb {
-LLVM_ABI ArrayRef<EnumEntry<uint16_t>> getOMFSegMapDescFlagNames();
+LLVM_ABI EnumStrings<uint16_t, 1> getOMFSegMapDescFlagNames();
}
}
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
index ccec0b5910658..06353a0e039db 100644
--- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
@@ -3189,13 +3189,6 @@ void CodeViewDebug::endCVSubsection(MCSymbol *EndLabel) {
OS.emitValueToAlignment(Align(4));
}
-static StringRef getSymbolName(SymbolKind SymKind) {
- for (const EnumEntry<SymbolKind> &EE : getSymbolTypeNames())
- if (EE.Value == SymKind)
- return EE.Name;
- return "";
-}
-
MCSymbol *CodeViewDebug::beginSymbolRecord(SymbolKind SymKind) {
MCSymbol *BeginLabel = MMI->getContext().createTempSymbol(),
*EndLabel = MMI->getContext().createTempSymbol();
@@ -3203,7 +3196,7 @@ MCSymbol *CodeViewDebug::beginSymbolRecord(SymbolKind SymKind) {
OS.emitAbsoluteSymbolDiff(EndLabel, BeginLabel, 2);
OS.emitLabel(BeginLabel);
if (OS.isVerboseAsm())
- OS.AddComment("Record kind: " + getSymbolName(SymKind));
+ OS.AddComment("Record kind: " + getSymbolTypeNames().toString(SymKind));
OS.emitInt16(unsigned(SymKind));
return EndLabel;
}
@@ -3221,7 +3214,7 @@ void CodeViewDebug::emitEndSymbolRecord(SymbolKind EndKind) {
OS.AddComment("Record length");
OS.emitInt16(2);
if (OS.isVerboseAsm())
- OS.AddComment("Record kind: " + getSymbolName(EndKind));
+ OS.AddComment("Record kind: " + getSymbolTypeNames().toString(EndKind));
OS.emitInt16(uint16_t(EndKind)); // Record Kind
}
diff --git a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
index 1ff34bd27e368..383922d5c6ff7 100644
--- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
+++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
@@ -7,578 +7,619 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/CodeView/EnumTables.h"
-#include "llvm/Support/ScopedPrinter.h"
+#include "llvm/ADT/Enum.h"
#include <type_traits>
using namespace llvm;
using namespace codeview;
#define CV_ENUM_CLASS_ENT(enum_class, enum) \
- { #enum, std::underlying_type_t<enum_class>(enum_class::enum) }
+ {{#enum}, std::underlying_type_t<enum_class>(enum_class::enum)}
-#define CV_ENUM_ENT(ns, enum) \
- { #enum, ns::enum }
+#define CV_ENUM_ENT(ns, enum) {{#enum}, ns::enum}
-static const EnumEntry<SymbolKind> SymbolTypeNames[] = {
-#define CV_SYMBOL(enum, val) {#enum, enum},
+namespace llvm {
+namespace codeview {
+
+EnumStrings<SymbolKind> getSymbolTypeNames() {
+ constexpr EnumStringDef<SymbolKind> SymbolTypeNameDefs[] = {
+#define CV_SYMBOL(enum, val) {{#enum}, enum},
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
#undef CV_SYMBOL
-};
+ };
+ static constexpr auto SymbolTypeNames =
+ BUILD_ENUM_STRINGS(SymbolTypeNameDefs);
+ return SymbolTypeNames;
+}
-static const EnumEntry<TypeLeafKind> TypeLeafNames[] = {
-#define CV_TYPE(name, val) {#name, name},
+EnumStrings<TypeLeafKind> getTypeLeafNames() {
+ constexpr EnumStringDef<TypeLeafKind> TypeLeafNameDefs[] = {
+#define CV_TYPE(name, val) {{#name}, name},
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
#undef CV_TYPE
-};
+ };
+ static constexpr auto TypeLeafNames = BUILD_ENUM_STRINGS(TypeLeafNameDefs);
+ return TypeLeafNames;
+}
-static const EnumEntry<uint16_t> RegisterNames_X86[] = {
+EnumStrings<uint16_t> getRegisterNames(CPUType Cpu) {
+ constexpr EnumStringDef<uint16_t> RegisterNameDefs_X86[] = {
#define CV_REGISTERS_X86
#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
#undef CV_REGISTER
#undef CV_REGISTERS_X86
-};
+ };
+ static constexpr auto RegisterNames_X86 =
+ BUILD_ENUM_STRINGS(RegisterNameDefs_X86);
-static const EnumEntry<uint16_t> RegisterNames_ARM[] = {
+ constexpr EnumStringDef<uint16_t> RegisterNameDefs_ARM[] = {
#define CV_REGISTERS_ARM
#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
#undef CV_REGISTER
#undef CV_REGISTERS_ARM
-};
+ };
+ static constexpr auto RegisterNames_ARM =
+ BUILD_ENUM_STRINGS(RegisterNameDefs_ARM);
-static const EnumEntry<uint16_t> RegisterNames_ARM64[] = {
+ constexpr EnumStringDef<uint16_t> RegisterNameDefs_ARM64[] = {
#define CV_REGISTERS_ARM64
#define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name),
#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
#undef CV_REGISTER
#undef CV_REGISTERS_ARM64
-};
-
-static const EnumEntry<uint32_t> PublicSymFlagNames[] = {
- CV_ENUM_CLASS_ENT(PublicSymFlags, Code),
- CV_ENUM_CLASS_ENT(PublicSymFlags, Function),
- CV_ENUM_CLASS_ENT(PublicSymFlags, Managed),
- CV_ENUM_CLASS_ENT(PublicSymFlags, MSIL),
-};
-
-static const EnumEntry<uint8_t> ProcSymFlagNames[] = {
- CV_ENUM_CLASS_ENT(ProcSymFlags, HasFP),
- CV_ENUM_CLASS_ENT(ProcSymFlags, HasIRET),
- CV_ENUM_CLASS_ENT(ProcSymFlags, HasFRET),
- CV_ENUM_CLASS_ENT(ProcSymFlags, IsNoReturn),
- CV_ENUM_CLASS_ENT(ProcSymFlags, IsUnreachable),
- CV_ENUM_CLASS_ENT(ProcSymFlags, HasCustomCallingConv),
- CV_ENUM_CLASS_ENT(ProcSymFlags, IsNoInline),
- CV_ENUM_CLASS_ENT(ProcSymFlags, HasOptimizedDebugInfo),
-};
-
-static const EnumEntry<uint16_t> LocalFlags[] = {
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsParameter),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsAddressTaken),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsCompilerGenerated),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsAggregate),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsAggregated),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsAliased),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsAlias),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsReturnValue),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsOptimizedOut),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredGlobal),
- CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredStatic),
-};
-
-static const EnumEntry<uint8_t> FrameCookieKinds[] = {
- CV_ENUM_CLASS_ENT(FrameCookieKind, Copy),
- CV_ENUM_CLASS_ENT(FrameCookieKind, XorStackPointer),
- CV_ENUM_CLASS_ENT(FrameCookieKind, XorFramePointer),
- CV_ENUM_CLASS_ENT(FrameCookieKind, XorR13),
-};
-
-static const EnumEntry<codeview::SourceLanguage> SourceLanguages[] = {
- CV_ENUM_ENT(SourceLanguage, C), CV_ENUM_ENT(SourceLanguage, Cpp),
- CV_ENUM_ENT(SourceLanguage, Fortran), CV_ENUM_ENT(SourceLanguage, Masm),
- CV_ENUM_ENT(SourceLanguage, Pascal), CV_ENUM_ENT(SourceLanguage, Basic),
- CV_ENUM_ENT(SourceLanguage, Cobol), CV_ENUM_ENT(SourceLanguage, Link),
- CV_ENUM_ENT(SourceLanguage, Cvtres), CV_ENUM_ENT(SourceLanguage, Cvtpgd),
- CV_ENUM_ENT(SourceLanguage, CSharp), CV_ENUM_ENT(SourceLanguage, VB),
- CV_ENUM_ENT(SourceLanguage, ILAsm), CV_ENUM_ENT(SourceLanguage, Java),
- CV_ENUM_ENT(SourceLanguage, JScript), CV_ENUM_ENT(SourceLanguage, MSIL),
- CV_ENUM_ENT(SourceLanguage, HLSL), CV_ENUM_ENT(SourceLanguage, D),
- CV_ENUM_ENT(SourceLanguage, Swift), CV_ENUM_ENT(SourceLanguage, Rust),
- CV_ENUM_ENT(SourceLanguage, ObjC), CV_ENUM_ENT(SourceLanguage, ObjCpp),
- CV_ENUM_ENT(SourceLanguage, AliasObj), CV_ENUM_ENT(SourceLanguage, Go),
- {"Swift", SourceLanguage::OldSwift},
-};
-
-static const EnumEntry<uint32_t> CompileSym2FlagNames[] = {
- CV_ENUM_CLASS_ENT(CompileSym2Flags, EC),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, NoDbgInfo),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, LTCG),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, NoDataAlign),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, ManagedPresent),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, SecurityChecks),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, HotPatch),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, CVTCIL),
- CV_ENUM_CLASS_ENT(CompileSym2Flags, MSILModule),
-};
-
-static const EnumEntry<uint32_t> CompileSym3FlagNames[] = {
- CV_ENUM_CLASS_ENT(CompileSym3Flags, EC),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, NoDbgInfo),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, LTCG),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, NoDataAlign),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, ManagedPresent),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, SecurityChecks),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, HotPatch),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, CVTCIL),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, MSILModule),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, Sdl),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, PGO),
- CV_ENUM_CLASS_ENT(CompileSym3Flags, Exp),
-};
-
-static const EnumEntry<uint32_t> FileChecksumNames[] = {
- CV_ENUM_CLASS_ENT(FileChecksumKind, None),
- CV_ENUM_CLASS_ENT(FileChecksumKind, MD5),
- CV_ENUM_CLASS_ENT(FileChecksumKind, SHA1),
- CV_ENUM_CLASS_ENT(FileChecksumKind, SHA256),
-};
-
-static const EnumEntry<unsigned> CPUTypeNames[] = {
- CV_ENUM_CLASS_ENT(CPUType, Intel8080),
- CV_ENUM_CLASS_ENT(CPUType, Intel8086),
- CV_ENUM_CLASS_ENT(CPUType, Intel80286),
- CV_ENUM_CLASS_ENT(CPUType, Intel80386),
- CV_ENUM_CLASS_ENT(CPUType, Intel80486),
- CV_ENUM_CLASS_ENT(CPUType, Pentium),
- CV_ENUM_CLASS_ENT(CPUType, PentiumPro),
- CV_ENUM_CLASS_ENT(CPUType, Pentium3),
- CV_ENUM_CLASS_ENT(CPUType, MIPS),
- CV_ENUM_CLASS_ENT(CPUType, MIPS16),
- CV_ENUM_CLASS_ENT(CPUType, MIPS32),
- CV_ENUM_CLASS_ENT(CPUType, MIPS64),
- CV_ENUM_CLASS_ENT(CPUType, MIPSI),
- CV_ENUM_CLASS_ENT(CPUType, MIPSII),
- CV_ENUM_CLASS_ENT(CPUType, MIPSIII),
- CV_ENUM_CLASS_ENT(CPUType, MIPSIV),
- CV_ENUM_CLASS_ENT(CPUType, MIPSV),
- CV_ENUM_CLASS_ENT(CPUType, M68000),
- CV_ENUM_CLASS_ENT(CPUType, M68010),
- CV_ENUM_CLASS_ENT(CPUType, M68020),
- CV_ENUM_CLASS_ENT(CPUType, M68030),
- CV_ENUM_CLASS_ENT(CPUType, M68040),
- CV_ENUM_CLASS_ENT(CPUType, Alpha),
- CV_ENUM_CLASS_ENT(CPUType, Alpha21164),
- CV_ENUM_CLASS_ENT(CPUType, Alpha21164A),
- CV_ENUM_CLASS_ENT(CPUType, Alpha21264),
- CV_ENUM_CLASS_ENT(CPUType, Alpha21364),
- CV_ENUM_CLASS_ENT(CPUType, PPC601),
- CV_ENUM_CLASS_ENT(CPUType, PPC603),
- CV_ENUM_CLASS_ENT(CPUType, PPC604),
- CV_ENUM_CLASS_ENT(CPUType, PPC620),
- CV_ENUM_CLASS_ENT(CPUType, PPCFP),
- CV_ENUM_CLASS_ENT(CPUType, PPCBE),
- CV_ENUM_CLASS_ENT(CPUType, SH3),
- CV_ENUM_CLASS_ENT(CPUType, SH3E),
- CV_ENUM_CLASS_ENT(CPUType, SH3DSP),
- CV_ENUM_CLASS_ENT(CPUType, SH4),
- CV_ENUM_CLASS_ENT(CPUType, SHMedia),
- CV_ENUM_CLASS_ENT(CPUType, ARM3),
- CV_ENUM_CLASS_ENT(CPUType, ARM4),
- CV_ENUM_CLASS_ENT(CPUType, ARM4T),
- CV_ENUM_CLASS_ENT(CPUType, ARM5),
- CV_ENUM_CLASS_ENT(CPUType, ARM5T),
- CV_ENUM_CLASS_ENT(CPUType, ARM6),
- CV_ENUM_CLASS_ENT(CPUType, ARM_XMAC),
- CV_ENUM_CLASS_ENT(CPUType, ARM_WMMX),
- CV_ENUM_CLASS_ENT(CPUType, ARM7),
- CV_ENUM_CLASS_ENT(CPUType, Omni),
- CV_ENUM_CLASS_ENT(CPUType, Ia64),
- CV_ENUM_CLASS_ENT(CPUType, Ia64_2),
- CV_ENUM_CLASS_ENT(CPUType, CEE),
- CV_ENUM_CLASS_ENT(CPUType, AM33),
- CV_ENUM_CLASS_ENT(CPUType, M32R),
- CV_ENUM_CLASS_ENT(CPUType, TriCore),
- CV_ENUM_CLASS_ENT(CPUType, X64),
- CV_ENUM_CLASS_ENT(CPUType, EBC),
- CV_ENUM_CLASS_ENT(CPUType, Thumb),
- CV_ENUM_CLASS_ENT(CPUType, ARMNT),
- CV_ENUM_CLASS_ENT(CPUType, ARM64),
- CV_ENUM_CLASS_ENT(CPUType, HybridX86ARM64),
- CV_ENUM_CLASS_ENT(CPUType, ARM64EC),
- CV_ENUM_CLASS_ENT(CPUType, ARM64X),
- CV_ENUM_CLASS_ENT(CPUType, Unknown),
- CV_ENUM_CLASS_ENT(CPUType, D3D11_Shader),
-};
-
-static const EnumEntry<uint32_t> FrameProcSymFlagNames[] = {
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasAlloca),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasSetJmp),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasLongJmp),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasInlineAssembly),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasExceptionHandling),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, MarkedInline),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, HasStructuredExceptionHandling),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, Naked),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, SecurityChecks),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, AsynchronousExceptionHandling),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, NoStackOrderingForSecurityChecks),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, Inlined),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, StrictSecurityChecks),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, SafeBuffers),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, EncodedLocalBasePointerMask),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, EncodedParamBasePointerMask),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, ProfileGuidedOptimization),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, ValidProfileCounts),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, OptimizedForSpeed),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfg),
- CV_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfw),
-};
-
-static const EnumEntry<uint32_t> ModuleSubstreamKindNames[] = {
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, None),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, Symbols),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, Lines),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, StringTable),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, FileChecksums),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, FrameData),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, InlineeLines),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, CrossScopeImports),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, CrossScopeExports),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, ILLines),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, FuncMDTokenMap),
- CV_ENUM_CLASS_ENT(DebugSubsectionKind, TypeMDTokenMap),
- ...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/206071
More information about the llvm-commits
mailing list