[all-commits] [llvm/llvm-project] aec0da: [utils] Fix DenseMap debugger printers for the pac...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Sun Jun 7 19:14:37 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: aec0da1e9455356a32ec797430794025628b4210
https://github.com/llvm/llvm-project/commit/aec0da1e9455356a32ec797430794025628b4210
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-07 (Sun, 07 Jun 2026)
Changed paths:
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[utils] Fix DenseMap debugger printers for the packed used-bit array (#201755)
DenseMap no longer use in-band sentinel keys. (#200595 and #201281).
Update the GDB pretty printer and LLDB data formatters to test the used
bit rather than comparing keys.
GDB: advancePastEmptyBuckets relied on DenseMapInfo::getEmptyKey(),
which could not be evaluated in GDB and so was disabled, leaving the printer
to emit empty and erased buckets. It now walks bucket indices and skips any
whose used bit is clear.
LLDB: DenseMapSynthetic used a key-uniqueness heuristic to guess which
buckets were live, which mishandled a lone erased bucket (hence the
former tombstones=1 summary note). It now reads the used array directly,
so erased entries are skipped exactly. NumTombstones no longer exists,
so drop it from the summary.
Written by Claude Opus 4.8
---------
Co-authored-by: Dave Lee <davelee.com at gmail.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list