In release+sym builds (-O2 -g), reduces time to link clang
from 2.3s to 1.3s (-42%).
In debug builds (-g), reduces time to link clang
from 5.4s to 4.5s (-17.4%).
See the phab review for full ministat numbers.
In the CMake build this is opt-in via LLVM_USE_SPLIT_DWARF.
Since the GN build is targeted at developers, enabling it by default
seems like a better default setting here. (If it turns out to cause
problems, we can add an opt-out.)
Time to load the binary into gdb and to set a breakpoint is unchanged.
Time from run to hitting a breakpoint in main feel a bit faster
(~4s -> ~2s), but I dind't do a careful statistical anlysis for this.
Yep, gdb relies on the index when using Split DWARF - without it you can expect a fair bit of uncertainty/variability in gdb about name lookup failures.