labath wrote: I re-ran the number, and the results are roughly the same.
> Am I misremembering that this came up before elsewhere? I guess that's what > the simple-template-name stuff fixed? Yes, simple template names came about because some targets were overflowing the debug_str section. I'm kinda surprised it's overflowing again, but I don't know the details/numbers there. > Not sure where we go from here then if this is a blocker. It's definitely a "problem", but I'm not sure if it's a "blocker". We had some discussions about what we could do to absorb that cost, but it's not trivial and it's getting kind of over my head. The thing is that, while the size increase is unfortunate, the change also makes a lot sense as it makes things consistent, both with gcc and with clang's non-structor functions. This week is also pretty busy for all the llvm people, so we don't really have an official position on this. > Maybe there's a way to reduce the amount of linkage names we emit, though not > sure off the top how we would decide that. I don't know either. I was looking at the generated debug info with @dwblaikie, and we didn't find anything obvious. > without having to do structural matching on the DIE context. I suppose we can > go back to that method. That would also still leave the cross-module case an > open question.. I like the structural match method, as it would open the door to potentially removing the linkage names from declaration DIEs (thereby *saving* debug_str space), but that's a more speculative approach, with unknown performance and other possible issues, so I don't feel entirely comfortable asking you to go down that path. The cross module thing is tricky, but I don't think it's fundamentally unsolvable -- basically, we just need to find a way to pass DIE information from one module to another. > And from digging around, it looks like on linux we already rely on the > ManglingSubstitutor for the aliased structor variant case. Yeah, that's because linux (elf?) will simply not generate the symbol for the C1 if the ABI doesn't require it to do that (and it's equivalent to C2). This actually brings back (painful) memories of when I (some 10 years ago) tried to remove this "optimization" and it caused an large increase in the .symtab section. https://github.com/llvm/llvm-project/pull/149827 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits