[PATCH] D78249: Reland "[codeview] Reference types in type parent scopes"
Amy Huang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 15 15:28:36 PDT 2020
akhuang created this revision.
akhuang added reviewers: rnk, amccarth.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
Original description (https://reviews.llvm/org/D69924)
Without this change, when a nested tag type of any kind (enum, class,
struct, union) is used as a variable type, it is emitted without
emitting the parent type. In CodeView, parent types point to their inner
types, and inner types do not point back to their parents. We already
walk over all of the parent scopes to build the fully qualified name.
This change simply requests their type indices as we go along to enusre
they are all emitted.
Now, while walking over the parent scopes, check whether the type is already
in the process of being emitted before requesting its type index, to avoid
trying to record the same type index twice.
Fixes PR43905
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D78249
Files:
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
llvm/test/DebugInfo/COFF/global-constants.ll
llvm/test/DebugInfo/COFF/parent-type-scopes.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78249.257871.patch
Type: text/x-patch
Size: 13850 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200415/00d2a9d5/attachment.bin>
More information about the llvm-commits
mailing list