llvm-project/llvm/lib/LTO
Teresa Johnson 3f212b8908 [ThinLTO] Emit files for distributed builds for all modules
With the new LTO API in r278338, we stopped emitting the individual
index files and imports files for some modules in the distributed backend
case (thinlto-index-only plugin option).

Specifically, this is when the linker decides not to include a module in the
link, because it was in an archive library and did not have a strong
reference to it. Not creating the expected output files makes the
distributed build system implementation more difficult, in terms of
checking for the expected outputs of the thin link, and scheduling the
backend jobs. To address this, the gold-plugin will write dummy empty
.thinlto.bc and .imports files for modules not included in the link
(which LTO never sees).

Augmented a gold v1.12+ test, since that version of gold has the handling
for notifying on modules not being included in the link.

llvm-svn: 282100
2016-09-21 19:12:05 +00:00
..
CMakeLists.txt [ThinLTO] Add caching to the new LTO API 2016-08-23 21:30:12 +00:00
Caching.cpp [ThinLTO] Move loading of cache entry to client 2016-08-26 23:29:14 +00:00
LLVMBuild.txt [lib/LTO] Add a way to run a custom pipeline 2016-09-07 17:46:16 +00:00
LTO.cpp [ThinLTO] Emit files for distributed builds for all modules 2016-09-21 19:12:05 +00:00
LTOBackend.cpp [lib/LTO] Try harder to reduce code duplication. NFCI. 2016-09-17 22:32:42 +00:00
LTOCodeGenerator.cpp [lib/LTO] Simplify. No functional change intended. 2016-09-02 16:37:31 +00:00
LTOModule.cpp Move the Mangler from the AsmPrinter down to TLOF and clean up the 2016-09-16 07:33:15 +00:00
ThinLTOCodeGenerator.cpp [PM] Rework the new PM support for building the ModuleSummaryIndex to 2016-08-19 07:49:19 +00:00
UpdateCompilerUsed.cpp Move legacy LTO interface headers to legacy/ directory. 2016-07-14 21:21:16 +00:00