[PATCH] D126800: Write output sections in parallel

Jez Ng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 1 12:12:03 PDT 2022


int3 added inline comments.


================
Comment at: lld/MachO/Writer.cpp:1083-1092
 void Writer::writeSections() {
   uint8_t *buf = buffer->getBufferStart();
+  std::vector<const OutputSection *> osecs;
   for (const OutputSegment *seg : outputSegments)
     for (const OutputSection *osec : seg->getSections())
-      osec->writeTo(buf + osec->fileOff);
+      osecs.emplace_back(osec);
+
----------------
oontvoo wrote:
> Does this not introduce indeterminism in the final binaries, and hence mess up caching?
> (specifically the ordering of the output sections may change even if the input does not..)
there's no sorting going on here though


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126800/new/

https://reviews.llvm.org/D126800



More information about the llvm-commits mailing list