diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-04-27 16:29:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-04-27 16:29:57 +0000 |
commit | 980440b09b577ea9e22c3d373467b12521b65eb6 (patch) | |
tree | c1a759e9640e5ce8dc2c580901ab1d33094c1856 /lld/ELF/InputSection.cpp | |
parent | 4a738dcb79ae59d386cd97296451b4b4d3ad44b9 (diff) |
Split merge sections early.
Now that getSectionPiece is fast (uses a hash) it is probably OK to
split merge sections early.
The reason I want to do this is to split eh_frame sections in the same
place.
This does mean that we have to decompress early. Given that the only
compressed sections are debug info, I don't think we are missing much.
It is a small improvement: 0.5% on the geometric mean.
Diffstat (limited to 'lld/ELF/InputSection.cpp')
-rw-r--r-- | lld/ELF/InputSection.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/lld/ELF/InputSection.cpp b/lld/ELF/InputSection.cpp index 871832a4ef7..7b64621a146 100644 --- a/lld/ELF/InputSection.cpp +++ b/lld/ELF/InputSection.cpp @@ -937,10 +937,6 @@ void MergeInputSection::splitIntoPieces() { OffsetMap.reserve(Pieces.size()); for (size_t I = 0, E = Pieces.size(); I != E; ++I) OffsetMap[Pieces[I].InputOff] = I; - - if (Config->GcSections && (Flags & SHF_ALLOC)) - for (uint32_t Off : LiveOffsets) - getSectionPiece(Off)->Live = true; } template <class It, class T, class Compare> |