r188739 - Revert "Revert "Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""""

Adrian Prantl aprantl at apple.com
Tue Dec 17 12:16:48 PST 2013


On Dec 17, 2013, at 12:15, David Blaikie <dblaikie at gmail.com> wrote:

> 
> 
> 
> On Mon, Dec 16, 2013 at 8:06 PM, Adrian Prantl <aprantl at apple.com> wrote:
> 
> On Dec 16, 2013, at 4:54 PM, Greg Clayton <gclayton at apple.com> wrote:
> 
> >
> > On Dec 16, 2013, at 2:55 PM, David Blaikie <dblaikie at gmail.com> wrote:
> >
> >>
> >>
> >>
> >> On Mon, Dec 16, 2013 at 2:44 PM, Adrian Prantl <aprantl at apple.com> wrote:
> >> Hi Chandler and David,
> >>
> >> unfortunately it looks more like case 1. This optimization breaks several assumptions that tools in our software stack depend on.
> >>
> >> It's a fairly substantial debug info size savings that seems worth investigating whether you can keep it enabled at least in
> >>
> >> - For example, it breaks dtrace, which on Darwin relies on being able to pull the (complete) CTF info (compact C type format) out of the DWARF in the .dSYM for a given module.
> >>
> >> I take it you're already using -fno-limit-debug-info for these scenarios, then? (are you using -flimit-debug-info at all?)
> >
> > Yes, this is what will need to happen now that clang has changed.
> 
> In case this wasn't clear enough: Currently, this optimization is totally orthogonal to limited debug info. Passing -fno-limit-debug-info will not make any of these examples work. This thread is about adding an additional flag to the frontend that controls this optimization.
> 
> I guess we could make also it part of -flimit-debug-info, either way will work.
> 
> Agreed. Though I'd rather separate it from -flimit-debug-info. -flimit-debug-info is more aggressive. But, yes, for this particular kernel scenario, if you do end up needing to disable the vtable-based optimization, you should already be disabling -flimit-debug-info.

That (and making it a separate option) sounds reasonable to me.

-- adrian



More information about the cfe-commits mailing list