[PATCH] D14387: Move comdat setup after global value body linking in ModuleLinker

Rafael Ávila de Espíndola via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 12:19:19 PST 2015


rafael added a comment.

It has been awhile since I looked at lib/Linker, but correct if I am wrong, it has pretty much two  modes

- "real" linker semantics. This handles comdats, weaks, etc.
- A mode where we only copy a user specified list of GVs and internal dependencies.

The second mode is used by thin lto. It could also be used with a few modifications by the gold plugin since gold did the "real linker" work already.

It looks like both modes are somewhat mixed. Could the linker be split in two? The low level one gets a list of globals. The high level one is not used by thinlto. What it does is decide based on comdats and linkages what a real linker would do and pass that list to the lower level class.


http://reviews.llvm.org/D14387





More information about the llvm-commits mailing list