summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
diff options
context:
space:
mode:
authorKyle Huey <khuey@kylehuey.com>2024-09-04 11:46:01 -0700
committerGitHub <noreply@github.com>2024-09-04 11:46:01 -0700
commita43137c3f85fd87f90c9a8ffaebd71d432018e79 (patch)
treec8ac4ac8857f3b1a4e393b209baa092ca3288aab /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
parentb30880e975279c1c8ef4c2645eb03063e4b19f2b (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