[PATCH] D16229: [LTO] Restore original linkage of externals prior to splitting
Tobias Edler von Koch via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 09:07:01 PST 2016
tobiasvk created this revision.
tobiasvk added reviewers: pcc, joker.eph.
tobiasvk added a subscriber: llvm-commits.
Herald added a subscriber: joker.eph.
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.
http://reviews.llvm.org/D16229
Files:
include/llvm/LTO/LTOCodeGenerator.h
lib/LTO/LTOCodeGenerator.cpp
test/LTO/X86/restore-externals.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16229.45003.patch
Type: text/x-patch
Size: 4543 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160115/d704d466/attachment.bin>
More information about the llvm-commits
mailing list