A while back I tried turning on constructor homing (-debug-info-kind=constructor) by default in clang. Ctor homing is a debug info optimization that reduces the amount of debug info that is emitted for class types.
The main blocker was that for some libc++ types we avoid calling the constructor. Since then I’ve added a attribute for classes that ignores ctor homing (
__attribute__((standlone_debug))) and added it to the libc++ types (7c2f58278e66).
I think at this point we can try enabling it by default in Clang – it’s currently being used in chromium and google codebases. Thought I’d email the llvm-dev list in case people have thoughts/opinions/concerns about this. (patch is at https://reviews.llvm.org/D106084)