llvm/lib/LTO
Peter Collingbourne 052412f4f5 LTO: Mark undefined module asm symbols as used.
Marking them as used causes them to be considered visible outside of LTO. This
prevents the symbols from being internalized or discarded, either by GlobalDCE
or by summary-based dead stripping in ThinLTO.

This change makes it unnecessary to add these symbols to llvm.compiler.used
in the backend, as the symbols are kept alive by virtue of being external,
so remove the backend code that handles that.

Fixes PR32798.

Differential Revision: https://reviews.llvm.org/D32544

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301438 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-26 17:53:39 +00:00
..
Caching.cpp Try using llvm::errc, should hopefully fix version mismatch problem on clang-s390x-linux bot. 2017-03-20 18:19:41 +00:00
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
LLVMBuild.txt [lib/LTO] Add a way to run a custom pipeline 2016-09-07 17:46:16 +00:00
LTO.cpp LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
LTOBackend.cpp LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
LTOCodeGenerator.cpp Add support for -fno-builtin to LTO and ThinLTO to libLTO 2017-03-28 18:55:44 +00:00
LTOModule.cpp Move llvm::emitLinkerFlagsForGlobalCOFF() to Mangler. 2017-03-31 04:46:50 +00:00
ThinLTOCodeGenerator.cpp Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
UpdateCompilerUsed.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00