[llvm] [LLVM][DWARF] Change .debug_names abbrev to be an index (PR #81200)

Greg Clayton via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 8 16:37:50 PST 2024


================
@@ -360,6 +360,49 @@ class DWARF5AccelTable : public AccelTable<DWARF5AccelTableData> {
     unsigned Index;
     DWARF5AccelTableData::AttributeEncoding Encoding;
   };
+  union AbbrevDescriptor {
+    struct {
+      uint32_t CompUnit : 1;
+      uint32_t TypeUnit : 1;
+      uint32_t DieOffset : 1;
+      uint32_t Parent : 2;
+      uint32_t TypeHash : 1;
+      uint32_t Tag : 26;
----------------
clayborg wrote:

the tag only requires a uint16_t. Can we make this 16 bits instead of 26?

Or maybe this can be:
```
union AbbrevDescriptor {
  struct {
    uint16_t CompUnit : 1;
    uint16_t TypeUnit : 1;
    uint16_t DieOffset : 1;
    uint16_t Parent : 2;
    uint16_t TypeHash : 1;
    uint16_t Tag;
  } Bits;
  uint32_t Value = 0;
};
```

https://github.com/llvm/llvm-project/pull/81200


More information about the llvm-commits mailing list