llvm/tools
Teresa Johnson 4fbd8ea38e [ThinLTO] Ensure prevailing linkonce emitted as weak in ThinLTO backends
Summary:
Since IR files are all compiled into separate independent object files
in ThinLTO mode, the prevailing linkonce symbols must be emitted in its
object file even if it is no longer referenced there, e.g. if no
references remain in the module after inlining, since it may be
referenced by another ThinLTO compiled object file. This is done by
changing LDPR_PREVAILING_DEF_IRONLY* symbols to LDPR_PREVAILING_DEF,
which converts the prevailing linkonce to weak. We also don't need the
other prevailing IRONLY handling for internalization, which is not
currently performed for ThinLTO.

Test case included.

Reviewers: davidxl, rafael

Subscribers: rafael, joker.eph, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262727 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-04 17:48:35 +00:00
..
bugpoint Fix Clang-tidy readability-redundant-control-flow warnings; other minor fixes. 2016-02-02 18:20:45 +00:00
bugpoint-passes Remove autoconf support 2016-01-26 21:29:08 +00:00
dsymutil [dsymutil] Skip mach-o paired relocations 2016-02-01 04:43:14 +00:00
gold [ThinLTO] Ensure prevailing linkonce emitted as weak in ThinLTO backends 2016-03-04 17:48:35 +00:00
llc [CMake] Produce an empty library for GlobalISel when not building it. 2016-02-11 19:18:27 +00:00
lli [Orc] Add lazy-JITting support for i386. 2016-02-10 01:02:33 +00:00
llvm-ar Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-as Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-as-fuzzer
llvm-bcanalyzer Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
llvm-c-test Add support for invoke/landingpad/resume in C API test 2016-02-18 20:38:32 +00:00
llvm-config llvm-config: replace assertions with a helpful error message 2016-02-12 18:43:10 +00:00
llvm-cov Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-cxxdump Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-diff Remove uses of builtin comma operator. 2016-02-18 22:09:30 +00:00
llvm-dis Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-dwarfdump Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-dwp llvm-dwp: Add missing copyright notice to llvm-dwp.cpp 2016-03-01 22:29:00 +00:00
llvm-extract Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-go Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-jitlistener Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-link Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
llvm-lto [LTO] Fix error reporting from lto_module_create_in_local_context() 2016-03-01 13:13:49 +00:00
llvm-mc Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
llvm-mc-fuzzer
llvm-mcmarkup Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-nm [llvm-nm] Restore the previous behaviour (pre r262525). 2016-03-02 22:33:49 +00:00
llvm-objdump [lanai] Add ELF enum value and relocations. 2016-03-01 21:21:42 +00:00
llvm-pdbdump [llvm-pdbdump] Start to decode some streams 2016-02-12 22:27:44 +00:00
llvm-profdata Add a profile summary class specific to instrumentation profiles. 2016-02-17 18:18:47 +00:00
llvm-readobj Fix typo. NFC. 2016-03-01 21:45:22 +00:00
llvm-rtdyld Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-shlib Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-size [llvm-size] Remove variable used only once. 2016-02-13 01:52:47 +00:00
llvm-split Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-stress Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-symbolizer Remove autoconf support 2016-01-26 21:29:08 +00:00
lto [LTO] Fix error reporting from lto_module_create_in_local_context() 2016-03-01 13:13:49 +00:00
msbuild
obj2yaml Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
opt PM: Implement a basic loop pass manager 2016-02-25 07:23:08 +00:00
sancov [sancov] print_coverage_points command. 2016-02-27 02:21:44 +00:00
sanstats Remove autoconf support 2016-01-26 21:29:08 +00:00
verify-uselistorder Remove autoconf support 2016-01-26 21:29:08 +00:00
xcode-toolchain
yaml2obj Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
CMakeLists.txt [CMake] Add the gold plugin before clang 2016-02-26 21:07:04 +00:00
LLVMBuild.txt