[PATCH] D30785: [DWARF] Versioning for DWARF constants; verify FORMs

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 12 11:40:24 PDT 2017


Adding a vtable to DIE's probably not OK - memory usage there is, I think,
a bit of a concern.

Adrian - thoughts on where this check might be best placed? It'd seem best
to make sure it fails at the time the attribute is added to the DIE, rather
than during a later walk - but sure, no big deal, probably doesn't come up
all that often/not /too/ painful to debug (look at the attribute type, the
DIE memory address, set a conditional breakpoint on DIEValueList::addValue
& run again).

There's a relatively small handful of functions that benefit from this
generality, and it might be easy enough to split them (might not be, too) -
given that the generality is over blocks and locations that don't have
attribute kinds - they're not very much the same thing.... dunno though.

On Tue, Apr 11, 2017 at 4:22 PM Paul Robinson via Phabricator <
reviews at reviews.llvm.org> wrote:

> probinson updated this revision to Diff 94905.
> probinson added a comment.
>
> Move the version check to DIE::addValue().  This required making the
> base-class method virtual, because the base class doesn't have a way to
> find the DWARF version; only a DIE can do that.
> Other review comments addressed as well.
>
>
> https://reviews.llvm.org/D30785
>
> Files:
>   include/llvm/CodeGen/DIE.h
>   include/llvm/ObjectYAML/DWARFYAML.h
>   include/llvm/Support/Dwarf.def
>   include/llvm/Support/Dwarf.h
>   lib/CodeGen/AsmPrinter/DIE.cpp
>   lib/Support/Dwarf.cpp
>   test/DebugInfo/AMDGPU/pointer-address-space-dwarf-v1.ll
>   test/DebugInfo/AMDGPU/variable-locations-dwarf-v1.ll
>   tools/dsymutil/DwarfLinker.cpp
>   unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170412/9637ec84/attachment-0001.html>


More information about the llvm-commits mailing list