llvm-project/llvm/lib/LTO
Bob Haarman eae4742d81 [LTO] Don't internalize declarations
Summary:
Some links were failing with "Global is external, but doesn't have
external or weak linkage!" in ThinLTO builds with debug
information. This happened when we elide the body of a global that is
referenced by debug info. This results in a declaration, which we
would then internalize - but declarations cannot be internal. This
change avoids the problem by not internalizing these declarations.

Fixes PR38046.

Reviewers: pcc, tejohnson

Subscribers: mehdi_amini, aprantl, hiraditya, JDevlieghere, steven_wu, dexonsmith, llvm-commits

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

llvm-svn: 338100
2018-07-27 05:40:29 +00:00
..
CMakeLists.txt Support: Add a VCSRevision.h header file. 2017-04-13 01:26:12 +00:00
Caching.cpp [ThinLTO] Update ThinLTO cache file atimes when on Windows 2018-07-04 14:17:10 +00:00
LLVMBuild.txt NFC: Move ObjectMemoryBuffer to support 2018-04-15 05:17:14 +00:00
LTO.cpp [LTO] Don't internalize declarations 2018-07-27 05:40:29 +00:00
LTOBackend.cpp [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM 2018-07-19 14:51:32 +00:00
LTOCodeGenerator.cpp Revert "[LTO] Support filtering by hotness threshold" 2018-03-08 01:13:10 +00:00
LTOModule.cpp Move TargetLoweringObjectFile from CodeGen to Target to fix layering 2018-03-23 23:58:19 +00:00
ThinLTOCodeGenerator.cpp [ThinLTO] Use std::map to get determistic imports files 2018-07-10 20:06:04 +00:00
UpdateCompilerUsed.cpp Remove redundant includes from lib/LTO. 2017-12-13 21:30:53 +00:00