[all-commits] [llvm/llvm-project] 863aa0: [LLD][ELF] Fix performance of MarkLive::scanEhFram...
Andrew Ng via All-commits
all-commits at lists.llvm.org
Tue Sep 8 11:36:19 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 863aa0a37bd1a57b0720eda6d646f9abd51bf6c2
https://github.com/llvm/llvm-project/commit/863aa0a37bd1a57b0720eda6d646f9abd51bf6c2
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2020-09-08 (Tue, 08 Sep 2020)
Changed paths:
M lld/ELF/MarkLive.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list