aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SplitModule.cpp
diff options
context:
space:
mode:
authorTobias Edler von Koch <tobias@codeaurora.org>2016-01-18 23:24:54 +0000
committerTobias Edler von Koch <tobias@codeaurora.org>2016-01-18 23:24:54 +0000
commit8ecaf69291b6c09f4f82b999defd3016667e6d38 (patch)
tree5cbb7eb2cb0f96a6b614f942d927954250fab070 /llvm/lib/Transforms/Utils/SplitModule.cpp
parentc4d519d3409f59a4f948b9fe77f8b07bb36af79e (diff)
downloadllvm-8ecaf69291b6c09f4f82b999defd3016667e6d38.zip
llvm-8ecaf69291b6c09f4f82b999defd3016667e6d38.tar.gz
llvm-8ecaf69291b6c09f4f82b999defd3016667e6d38.tar.bz2
[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 llvm-svn: 258100
Diffstat (limited to 'llvm/lib/Transforms/Utils/SplitModule.cpp')
0 files changed, 0 insertions, 0 deletions