summaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/CodeView
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2023-08-25 18:21:00 -0700
committerArthur Eubanks <aeubanks@google.com>2023-08-25 18:34:15 -0700
commit0a4fc4ac1c6e74eba7eb184d3da11772a06df65f (patch)
tree7a4609631f01ed99dc348b70c1f04c7bcd446069 /llvm/lib/DebugInfo/CodeView
parent08ed557714eed7f5cde9d1c5606f58280683884a (diff)
Revert "Emit the CodeView `S_ARMSWITCHTABLE` debug symbol for jump tables"
This reverts commit 8d0c3db388143f4e058b5f513a70fd5d089d51c3. Causes crashes, see comments in https://reviews.llvm.org/D149367. Some follow-up fixes are also reverted: This reverts commit 636269f4fca44693bfd787b0a37bb0328ffcc085. This reverts commit 5966079cf4d4de0285004eef051784d0d9f7a3a6. This reverts commit e7294dbc85d24a08c716d9babbe7f68390cf219b.
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView')
-rw-r--r--llvm/lib/DebugInfo/CodeView/EnumTables.cpp18
-rw-r--r--llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp14
-rw-r--r--llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp13
-rw-r--r--llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp1
4 files changed, 0 insertions, 46 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
index 7e3087373bfa..b2f0099bd01c 100644
--- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
+++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
@@ -434,20 +434,6 @@ static const EnumEntry<uint16_t> LabelTypeEnum[] = {
CV_ENUM_CLASS_ENT(LabelType, Far),
};
-static const EnumEntry<uint16_t> JumpTableEntrySizeNames[] = {
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Int8),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, UInt8),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Int16),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, UInt16),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Int32),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, UInt32),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Pointer),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, UInt8ShiftLeft),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, UInt16ShiftLeft),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Int8ShiftLeft),
- CV_ENUM_CLASS_ENT(JumpTableEntrySize, Int16ShiftLeft),
-};
-
namespace llvm {
namespace codeview {
@@ -573,9 +559,5 @@ ArrayRef<EnumEntry<uint16_t>> getLabelTypeEnum() {
return ArrayRef(LabelTypeEnum);
}
-ArrayRef<EnumEntry<uint16_t>> getJumpTableEntrySizeNames() {
- return ArrayRef(JumpTableEntrySizeNames);
-}
-
} // end namespace codeview
} // end namespace llvm
diff --git a/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp b/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
index c86fb244f688..cfb12dbae845 100644
--- a/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
+++ b/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
@@ -643,20 +643,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR,
return Error::success();
}
-Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR,
- JumpTableSym &JumpTable) {
- W.printHex("BaseOffset", JumpTable.BaseOffset);
- W.printNumber("BaseSegment", JumpTable.BaseSegment);
- W.printEnum("SwitchType", static_cast<uint16_t>(JumpTable.SwitchType),
- getJumpTableEntrySizeNames());
- W.printHex("BranchOffset", JumpTable.BranchOffset);
- W.printHex("TableOffset", JumpTable.TableOffset);
- W.printNumber("BranchSegment", JumpTable.BranchSegment);
- W.printNumber("TableSegment", JumpTable.TableSegment);
- W.printNumber("EntriesCount", JumpTable.EntriesCount);
- return Error::success();
-}
-
Error CVSymbolDumperImpl::visitUnknownSymbol(CVSymbol &CVR) {
W.printNumber("Length", CVR.length());
return Error::success();
diff --git a/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp b/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
index b5e366b965a9..3b627930e271 100644
--- a/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
+++ b/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
@@ -483,19 +483,6 @@ Error SymbolRecordMapping::visitKnownRecord(CVSymbol &CVR,
return Error::success();
}
-Error SymbolRecordMapping::visitKnownRecord(CVSymbol &CVR,
- JumpTableSym &JumpTable) {
- error(IO.mapInteger(JumpTable.BaseOffset));
- error(IO.mapInteger(JumpTable.BaseSegment));
- error(IO.mapEnum(JumpTable.SwitchType));
- error(IO.mapInteger(JumpTable.BranchOffset));
- error(IO.mapInteger(JumpTable.TableOffset));
- error(IO.mapInteger(JumpTable.BranchSegment));
- error(IO.mapInteger(JumpTable.TableSegment));
- error(IO.mapInteger(JumpTable.EntriesCount));
- return Error::success();
-}
-
RegisterId codeview::decodeFramePtrReg(EncodedFramePtrReg EncodedReg,
CPUType CPU) {
assert(unsigned(EncodedReg) < 4);
diff --git a/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp b/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
index e903a37a8c8e..682747a2b81f 100644
--- a/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
+++ b/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
@@ -442,7 +442,6 @@ static bool discoverTypeIndices(ArrayRef<uint8_t> Content, SymbolKind Kind,
case SymbolKind::S_THUNK32:
case SymbolKind::S_FRAMECOOKIE:
case SymbolKind::S_UNAMESPACE:
- case SymbolKind::S_ARMSWITCHTABLE:
break;
// Scope ending symbols.
case SymbolKind::S_END: