[llvm] r273443 - [codeview] Defer emission of all referenced complete records

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 15:26:01 PDT 2016


On Mon, Jul 11, 2016 at 1:46 PM, Reid Kleckner <rnk at google.com> wrote:

> On Fri, Jul 8, 2016 at 2:35 PM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> Does this make debug info larger by emitting forward declarations for
>> every type, even when they aren't necessary? (this would certainly happen
>> if we did this in DWARF emission - so just wondering how it compares). Any
>> idea how much of a penalty that is for CV size?
>>
>
> CodeView always has forward declarations for all record types, and they
> are used to avoid cycles in the type graph:
> http://llvm.org/docs/SourceLevelDebugging.html#format-background
>

Even in cases where there are no cycles? (perhaps that's such a small
number of cases (only C structs*, I would think, but I don't know the
format well enough/at all) that the benefit isn't worth the engineering
effort to elide them in these cases)

* as anything with a non-static member function would have a this pointer
which would create a cycle
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160711/950eec6d/attachment.html>


More information about the llvm-commits mailing list