llvm-project/llvm/test/LTO/X86
Tobias Edler von Koch 8ecaf69291 [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
2016-01-18 23:24:54 +00:00
..
Inputs Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes 2015-12-16 16:16:19 +00:00
attrs.ll
bcsection.ll Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
cfi_endproc.ll libLTO, llvm-lto, gold: Introduce flag for controlling optimization level. 2015-03-19 22:01:00 +00:00
current-section.ll Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
diagnostic-handler-noexit.ll Add a libLTO diagnostic handler that supports lto_get_error_message API 2015-11-11 19:59:08 +00:00
diagnostic-handler-remarks.ll [LTO] Add an early run of functionattrs 2015-11-18 11:24:42 +00:00
disable-verify.ll Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
invalid.ll Add InaccessibleMemOnly and inaccessibleMemOrArgMemOnly attributes 2015-12-16 16:16:19 +00:00
keep-used-puts-during-instcombine.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
linkonce_odr_func.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
list-symbols.ll Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
lit.local.cfg
llvm-lto-output.ll [LTO] Add options to llvm-lto to select output format and dump merged module 2015-11-20 00:13:05 +00:00
no-undefined-puts-when-implemented.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
parallel.ll Add powerpc64 to parallel.ll unsupported architecture list. 2015-09-04 19:45:36 +00:00
pr25919.ll Don't try to check all uses if lazy loading. 2016-01-15 18:23:46 +00:00
private-symbol.ll
restore-externals.ll [LTO] Restore original linkage of externals prior to splitting 2016-01-18 23:24:54 +00:00
runtime-library.ll
set-merged.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
symver-asm.ll
triple-init.ll