phyBrackets wrote: > Getting an idea of size increase would be useful. (_Possibly_ limiting it to > types where it would otherwise be impossible to get to by debuggers (e.g., > integrals/floats))
@Michael137 Thanks for the idea, I ran some size comparison, on a synthetic file with 4 constexpr array static members (char[6], int[10], unsigned char[3], short[4]), `debug_info` grows by 61 bytes, basically just the raw array content plus a few bytes of block-length encoding. On an actual LLVM source file (CommandLine.cpp), the diff is literally zero, no constexpr array static members, no cost. ``` Synthetic (4 constexpr arrays): +23% +61 .debug_info +1.2% +2 .debug_abbrev Real file (llvm/lib/Support/CommandLine.cpp): [ = ] 0 TOTAL ``` So the cost is purely pay-for-what-you-use, just the raw byted of whatever arrays exist, and in practice I think most TU's won't have any constexpr array static members, so the impact across a real build should be negligible. And limiting to types where debuggers can't otherwise recover the value, that make sense. Let me know if you'd prefer that. https://github.com/llvm/llvm-project/pull/182442 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
