aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2020-12-08 09:35:58 -0500
committerNico Weber <thakis@chromium.org>2020-12-17 15:39:00 -0500
commit7e33fd9ce2d8f94bb7195c417426620037804834 (patch)
tree8169bb816617f1c1974876f0cd012f48e6e2c254 /clang/lib/CodeGen/CodeGenModule.cpp
parent994bb6eb7d01db1d9461e54d17a63af2ba1af2c9 (diff)
downloadllvm-7e33fd9ce2d8f94bb7195c417426620037804834.zip
llvm-7e33fd9ce2d8f94bb7195c417426620037804834.tar.gz
llvm-7e33fd9ce2d8f94bb7195c417426620037804834.tar.bz2
[gn build] Link with -Wl,--gdb-index when linking with LLD
For full-debug-info (is_debug=true / symbol_level=2 builds), this makes linking 15% slower, but gdb startup 1500% faster (for lld: link time 3.9s->4.4s, gdb load time >30s->2s). For link time, I ran bench.py -o {noindex,index}.txt \ sh -c 'rm out/gn/bin/lld && ninja -C out/gn lld' and then `ministat noindex.txt index.txt`: ``` x noindex.txt + index.txt N Min Max Median Avg Stddev x 5 3.784461 4.0200169 3.8452811 3.8754988 0.089902595 + 5 4.32496 4.6058481 4.3361208 4.4141198 0.12288267 Difference at 95.0% confidence 0.538621 +/- 0.15702 13.8981% +/- 4.05161% (Student's t, pooled s = 0.107663) ``` For gdb load time I loaded the crash in PR48392 with gdb -ex r --args ../out/gn/bin/ld64.lld.darwinnew @response.txt and just stopped the time until the crash got displayed with a stopwatch a few times. So the speedup there is less precise, but it's so pronounced that that's ok (loads ~instantly with the patch, takes a very long time without it). Only doing this for LLD because I haven't tried it with other linkers. Differential Revision: https://reviews.llvm.org/D92844
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions