[PATCH] D45227: Instead of using std::copy, clear the vector first and add new elements. NFC.
Rui Ueyama via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 3 13:00:23 PDT 2018
ruiu created this revision.
ruiu added a reviewer: pcc.
Herald added subscribers: arichardson, emaste.
Herald added a reviewer: espindola.
Instead of using std::copy, clear the vector first and add new elements. NFC.
https://reviews.llvm.org/D45227
Files:
lld/ELF/Writer.cpp
Index: lld/ELF/Writer.cpp
===================================================================
--- lld/ELF/Writer.cpp
+++ lld/ELF/Writer.cpp
@@ -1137,24 +1137,23 @@
// of the second block of cold code can call the hot code without a thunk. So
// we effectively double the amount of code that could potentially call into
// the hot code without a thunk.
- size_t UnorderedInsPt = 0;
+ size_t InsPt = 0;
if (Target->ThunkSectionSpacing && !OrderedSections.empty()) {
uint64_t UnorderedPos = 0;
- for (; UnorderedInsPt != UnorderedSections.size(); ++UnorderedInsPt) {
- UnorderedPos += UnorderedSections[UnorderedInsPt]->getSize();
+ for (; InsPt != UnorderedSections.size(); ++InsPt) {
+ UnorderedPos += UnorderedSections[InsPt]->getSize();
if (UnorderedPos > UnorderedSize / 2)
break;
}
}
- std::copy(UnorderedSections.begin(),
- UnorderedSections.begin() + UnorderedInsPt, ISD->Sections.begin());
- std::vector<InputSection *>::iterator SectionsPos =
- ISD->Sections.begin() + UnorderedInsPt;
+ ISD->Sections.clear();
+ for (InputSection *IS : makeArrayRef(UnorderedSections).slice(0, InsPt))
+ ISD->Sections.push_back(IS);
for (std::pair<InputSection *, int> P : OrderedSections)
- *SectionsPos++ = P.first;
- std::copy(UnorderedSections.begin() + UnorderedInsPt, UnorderedSections.end(),
- SectionsPos);
+ ISD->Sections.push_back(P.first);
+ for (InputSection *IS : makeArrayRef(UnorderedSections).slice(InsPt))
+ ISD->Sections.push_back(IS);
}
static void sortSection(OutputSection *Sec,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45227.140849.patch
Type: text/x-patch
Size: 1603 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180403/f42d273c/attachment.bin>
More information about the llvm-commits
mailing list