[PATCH] D97411: [DebugInfo] Add an attribute to force type info to be emitted for types that are required to be complete.

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 19 16:19:45 PDT 2021


dblaikie added a comment.

In D97411#2638609 <https://reviews.llvm.org/D97411#2638609>, @akhuang wrote:

> In D97411#2611142 <https://reviews.llvm.org/D97411#2611142>, @probinson wrote:
>
>> In D97411#2598625 <https://reviews.llvm.org/D97411#2598625>, @akhuang wrote:
>>
>>> I started looking into some diffs of debug info in libc++ tests, but it's pretty hard to tell what's different - as far as I can see, there are just a bunch of `__hash_value_type`s and `__value_type`s.
>>
>> This is a job for.... llvm-dva!  See the preliminary patch at D88661 <https://reviews.llvm.org/D88661>, although it's getting a bit old and might not apply/build cleanly.
>>
>> (llvm-dva is undergoing an internal review at the moment, we hope to have a proper reviewable patch series up soon-ish.)
>
> cool, thanks! I tried using it to compare a file that just constructs all of the libc++ types, and it works pretty well (definitely nicer than processing/diffing the dwarf dumps).
>
> One thing I ran into is that I think it'll classify a type as missing/added if it appears in a different order. Not sure if there's a way to make it ignore order, but it wasn't too hard to look through them all.
>
> Anyway, comparing the types did find one class (allocator <https://github.com/llvm/llvm-project/blob/19d2c65ddd757997785163709800f837857f686d/libcxx/include/memory#L835>) that I didn't include the list of types to add the attribute to. Seems like it has some empty inline constructors that are marked constexpr after c++17. Maybe we don't need to have it because it doesn't affect printing the types in the debugger.

Hmm - is that type used in a way that invokes Undefined Behavior? Or is this a gap/bug in the ctor homing? I thought there was already a special case for constexpr ctors that opted them out of ctor homing.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97411/new/

https://reviews.llvm.org/D97411



More information about the cfe-commits mailing list