[PATCH] D111916: [DebugInfo] Fixup DIEs for inlined functions
Ellis Hoag via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 15 18:56:47 PDT 2021
ellis created this revision.
Herald added a subscriber: hiraditya.
ellis added a project: debug-info.
Herald added a subscriber: ormris.
ellis added a reviewer: dblaikie.
ellis published this revision for review.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Some `DIE`s, like for static variables, get added to concrete `DIE`s for
inlined functions instead of their abstract origin `DIE`s. At the end of
the module, we fixup these cases by moving appropriate child `DIE`s from
the concrete `DIE` to the abstract origin `DIE` and adding the
`DW_AT_abstract_origin` attribute.
Add the API `releaseNodes()` to `DIE`s so that we can remove all the
children from a `DIE`.
This diff was discussed in llvm-dev.
https://groups.google.com/g/llvm-dev/c/mlNUyj-Q5To/m/GLq2zWw1AAAJ
Fixes
- https://bugs.llvm.org/show_bug.cgi?id=52159
- https://bugs.llvm.org/show_bug.cgi?id=30637
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D111916
Files:
llvm/include/llvm/CodeGen/DIE.h
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
llvm/test/DebugInfo/Generic/inlined-local-type.ll
llvm/test/DebugInfo/Generic/inlined-static-var.ll
llvm/unittests/CodeGen/DIETest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111916.380121.patch
Type: text/x-patch
Size: 26734 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211016/05c11186/attachment.bin>
More information about the llvm-commits
mailing list