This is an archive of the discontinued LLVM Phabricator instance.

Skip type units/type uniquing when we know we're only emitting the type once (vtable-based emission when triggered by a strong vtable, with -fno-standalone-debug)
ClosedPublic

Authored by dblaikie on Apr 24 2019, 10:21 AM.

Details

Summary

(this would regress size without a corresponding LLVM change that avoids
putting other user defined types inside type units when they aren't in
their own type units - instead emitting declarations inside the type
unit and a definition in the primary CU)

Adrian - can you tell me whether the changes to the implicit modular debug info tests are OK? What does that feature use the 'identifier' for, if anything?

Diff Detail

Repository
rC Clang

Event Timeline

dblaikie created this revision.Apr 24 2019, 10:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 24 2019, 10:21 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

I hope I'm getting this right, but if I remember correctly, the significant part in this test is what is a FwdDecl as opposed to a definition. The identifiers no longer make it into the debug info and you should see no difference in the produced binaries with this change.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 25 2019, 1:04 PM
This revision was automatically updated to reflect the committed changes.