llvm-project/llvm/lib/LTO
Steven Wu 476ca33089 [LTO] Don't apply LTOPostLink module flag during writeMergedModule
For `ld64` which uses legacy LTOCodeGenerator, it relies on
writeMergedModule to perform `ld -r` (generates a linked object file).
If all the inputs to `ld -r` is fullLTO bitcode, `ld64` will linked the
bitcode module, internalize all the symbols and write out another
fullLTO bitcode object file. This bitcode file doesn't have all the
bitcode inputs and it should not have LTOPostLink module flag. It will
also cause error when this bitcode object file is linked with other LTO
object file.
Fix the issue by not applying LTOPostLink flag during writeMergedModule
function. The flag should only be added when all the bitcode are linked
and ready to be optimized.

rdar://problem/58462798

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D84789
2020-08-26 11:17:45 -07:00
..
CMakeLists.txt Update compiler extension integration into the build system 2020-04-24 09:40:14 +02:00
Caching.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
LLVMBuild.txt Update compiler extension integration into the build system 2020-04-24 09:40:14 +02:00
LTO.cpp [FIX] Avoid creating BFI when emitting remarks for dead functions 2020-08-25 11:12:38 -07:00
LTOBackend.cpp [NewPM] Support optnone under new pass manager 2020-07-21 09:53:43 -07:00
LTOCodeGenerator.cpp [LTO] Don't apply LTOPostLink module flag during writeMergedModule 2020-08-26 11:17:45 -07:00
LTOModule.cpp Remove GlobalValue::getAlignment(). 2020-06-23 19:13:42 -07:00
SummaryBasedOptimizations.cpp Add missing includes needed to prune LLVMContext.h include, NFC 2019-11-14 15:23:15 -08:00
ThinLTOCodeGenerator.cpp [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab 2020-08-26 10:15:00 -07:00
UpdateCompilerUsed.cpp TargetLowering.h - remove unnecessary TargetMachine.h include. NFC 2020-05-23 19:49:38 +01:00