llvm/test/LTO
Tobias Edler von Koch 5ffce2cd5d [LTO] Restore original linkage of externals prior to splitting
Summary:
This is a companion patch for http://reviews.llvm.org/D16124.

Internalized symbols increase the size of strongly-connected components in
SCC-based module splitting and thus reduce the amount of parallelism. This
patch records the original linkage of non-local symbols prior to
internalization and then restores it just before splitting/CodeGen. This is
also useful for cases where the linker requires symbols to remain external, for
instance, so they can be placed according to linker script rules.

It's currently under its own flag (-restore-globals) but should eventually
share a common flag with D16124.

Reviewers: joker.eph, pcc

Subscribers: slarin, llvm-commits, joker.eph

Differential Revision: http://reviews.llvm.org/D16229

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258100 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-18 23:24:54 +00:00
..
ARM Introduce Target::createNullTargetStreamer and use it from IRObjectFile. 2015-02-19 00:45:02 +00:00
X86 [LTO] Restore original linkage of externals prior to splitting 2016-01-18 23:24:54 +00:00