aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/ValueTracking.cpp
diff options
context:
space:
mode:
authorAndrew Ng <andrew.ng@sony.com>2020-09-07 17:36:14 +0100
committerAndrew Ng <andrew.ng@sony.com>2020-09-08 19:32:34 +0100
commit863aa0a37bd1a57b0720eda6d646f9abd51bf6c2 (patch)
treec25abb7ddeb8488a2e7419cdec0b7202a6086182 /llvm/lib/Analysis/ValueTracking.cpp
parentce49b7d9ca01f4abbba1e5a00339d539b0ea563e (diff)
downloadllvm-863aa0a37bd1a57b0720eda6d646f9abd51bf6c2.zip
llvm-863aa0a37bd1a57b0720eda6d646f9abd51bf6c2.tar.gz
llvm-863aa0a37bd1a57b0720eda6d646f9abd51bf6c2.tar.bz2
[LLD][ELF] Fix performance of MarkLive::scanEhFrameSection
MarkLive::scanEhFrameSection is used to retain personality/LSDA functions when --gc-sections is enabled. Improve its performance by only iterating over the .eh_frame relocations that need to be resolved for an EhSectionPiece. This optimization makes the same assumption as elsewhere in LLD that the .eh_frame relocations are sorted by r_offset. This appears to be a performance regression introduced in commit e6c24299d237 (https://reviews.llvm.org/D59800). This change has been seen to reduce link time by up to ~50%. Differential Revision: https://reviews.llvm.org/D87245
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions