[llvm-dev] Fwd: Implicit_const implementation related query.

Sourabh Singh Tomar via llvm-dev
Tue, 11 Feb 2020 07:24:15 -0000

Forwarding to Mailing list.
Hello Everyone,

I'm trying to implement DW_FORM_implicit_const as an experimental feature
to evaluate its gain in the overall size reduction in debug info.

In my initial implementation, DW_FORM_implicit_const is emitted only when a
*constant* attribute is same across multiple DIE's.

This is accomplished, in process of *uniquing* of Abbrevs i.e if an Abbrev
is duplicate that suggests it's shared by multiple DIE's, so we replaced
the constant attributes[DW_AT_decl_file] {value, form}  with
DW_FORM_implicit_const in corresponding Abbrev.

The problem I'm facing, is in deletion of  the attribute[DW_AT_decl_file]
from DIE's[debug_info] that are using this abbrev.  These DIE's are laid
out as DIEValueList, Is there a way to cleanly remove a node[Attribute]
from this list ??

Can anybody share comments/thoughts on the implementation side of this and
suggest  how to overcome the deletion of attributes from the DIEs in the
debug_info section.

Thank You,
Sourabh.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20200211/d4333029/attachment.html>