[PATCH] D38528: Parallelize tail-merge string table construction.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 15 23:45:02 PDT 2019


grimar added a comment.

Thanks for the explanation! Two more comments/questions below.



================
Comment at: lld/ELF/InputSection.h:236
+  int64_t OutputOff : 48;
+  uint64_t TailHash : 15;
   uint64_t Live : 1;
----------------
Seems you could store `ShardID : 5` here instead of `TailHash`.
That would save a few bits for `OutputOff` and you can get rid of computations in the code.
Does it make sense?


================
Comment at: lld/ELF/SyntheticSections.cpp:2951
+// does but creates a tail-merged string table. E.g. "def\0" is merged
+// with "abcdef\0". This is enabled only when -O2 is given.
+//
----------------
Not only when -O2, but actually -On, where n >= 2.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D38528





More information about the llvm-commits mailing list