diff options
| author | Kyle Huey <khuey@kylehuey.com> | 2024-09-04 11:46:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-04 11:46:01 -0700 |
| commit | a43137c3f85fd87f90c9a8ffaebd71d432018e79 (patch) | |
| tree | c8ac4ac8857f3b1a4e393b209baa092ca3288aab /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
| parent | b30880e975279c1c8ef4c2645eb03063e4b19f2b (diff) | |
[LLVM][DWARF] Make some effort to avoid duplicates in .debug_ranges. (#106614)
Inlining and zero-cost abstractions tend to produce volumes of debug
info with identical ranges. When built with full debugging information
(the equivalent of -g2) librustc_driver.so has 2.1 million entries in
.debug_ranges. But only 1.1 million of those entries are unique. While
in principle all duplicates could be eliminated with a hashtable,
checking to see if the new range is exactly identical to the previous
range and skipping a new addition if it is is sufficient to eliminate
99.99% of the duplicates. This reduces the size of librustc_driver.so's
.debug_ranges section by 35%, or the overall binary size a little more
than 1%.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions
