[PATCH] D40845: Wasm COMDAT: LLD support

Nicholas Wilson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 11 04:55:07 PST 2017


ncw updated this revision to Diff 126342.
ncw edited the summary of this revision.
ncw added a comment.

Updates:

- Added test
- Rebased on top of Sam's table deduplication
- Added name-to-segment map to avoid N^2 lookup when deduplicating N inline/Comdat data segments

I think it's an OK start on the problem.

Having looked more at what LDD does with ELF, it's hard to copy what it's doing. I think in spirit the basic process is identical, it's just that relocations and code/data segments are rather different in Wasm.

I agree it would be nice to move towards the ELF linker, by adding section GC etc, but that's maybe out-of-scope for what I'm trying to achieve here.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D40845

Files:
  test/wasm/Inputs/comdat1.ll
  test/wasm/Inputs/comdat2.ll
  test/wasm/comdats.ll
  wasm/InputFiles.cpp
  wasm/InputFiles.h
  wasm/InputSegment.cpp
  wasm/InputSegment.h
  wasm/OutputSegment.h
  wasm/SymbolTable.cpp
  wasm/SymbolTable.h
  wasm/Writer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40845.126342.patch
Type: text/x-patch
Size: 13875 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171211/71c54760/attachment.bin>


More information about the llvm-commits mailing list