[PATCH] D20433: [ELF] - Lazy initialization of MergeInputSection class internals.
George Rimar via llvm-commits
llvm-commits at lists.llvm.org
Sun May 22 08:58:27 PDT 2016
grimar updated this revision to Diff 58062.
grimar added a comment.
Fully reimplemented initial version of this.
Now MergeInputSection<ELFT>::Offsets vector is filled much later,
after all GC processing, right after creation of output sections.
This allows to avoid filling it with dead ranges of data.
and opens oportunity to implement decompression
of sections in the way when only live sections are decompressed.
Also after that they should be easily switched to
parrallel_for proccessing here I am sure.
This rework also helped to cut off very similar code in
MergeOutputSection<ELFT>::addSection() and
MergeInputSection<ELFT>::MergeInputSection(), it is combined now
to MergeInputSection<ELFT>::prepareRanges().
Code from MergeOutputSection<ELFT>::addSection() is just gone.
http://reviews.llvm.org/D20433
Files:
ELF/InputSection.cpp
ELF/InputSection.h
ELF/MarkLive.cpp
ELF/OutputSections.cpp
ELF/OutputSections.h
ELF/Writer.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20433.58062.patch
Type: text/x-patch
Size: 9877 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160522/4d325b33/attachment.bin>
More information about the llvm-commits
mailing list