NOSSLETTER.techLIVE
back to archive

[DebugInfo] Add DW_TAG_property support to LLVM DebugInfo

Language: C+++435 -1feature
The Issue & Context

DWARF version 6 introduced DW_TAG_property to represent properties accessed like data members but implemented via accessors, such as Objective-C @property backed by an ivar, which LLVM's DebugInfo did not previously support.

Root Cause Analysis

LLVM DebugInfo lacked a metadata node and emission logic for DW_TAG_property, preventing accurate representation of property accessors in the debug information.

Solution Strategy & Architectural Pattern

Added a new DIProperty metadata node and integrated it through LLVM IR components including LLParser, AsmWriter, bitcode, DIBuilder, and Verifier; updated DwarfUnit to emit DW_TAG_property and DW_AT_property_forward DIEs anchored on the accessor's subprogram DIE, covering LLVM IR and DWARF layers.

Key Takeaway for Contributors

Supporting new DWARF tags requires coordinated changes across IR metadata, serialization, and debug info emission layers; this patch lays groundwork for improved property debugging with further Clang and LLDB support planned.

View full digest for 2026-08-27