llvm-project/llvm/test/ThinLTO/X86
Teresa Johnson 620c140a9b [ThinLTO] Always emit a summary when compiling in ThinLTO mode
Summary:
Emit an empty summary section, instead of no summary section, when
there are no global variables in the index. This ensures that LTO
will treat these files as ThinLTO inputs, instead of as regular
LTO inputs.

In addition to not being what the user likely intended when
compiling with -flto=thin, the current behavior is problematic for
distributed build systems that expect to get ThinLTO index and imports
files back for each input compiled with -flto=thin. Combining into
a single regular LTO module also reduces the backend parallelism.
And in the case where the index was suppressed due to uses in
inline assembly, combining into a single LTO module could provoke
renaming of duplicates that we were trying to prevent by suppressing
the index.

This change required a couple of fixes to handle the empty summary
section.

Reviewers: mehdi_amini

Subscribers: mehdi_amini, llvm-commits, pcc

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

llvm-svn: 282037
2016-09-20 23:07:17 +00:00
..
Inputs [ThinLTO] Always emit a summary when compiling in ThinLTO mode 2016-09-20 23:07:17 +00:00
alias_import.ll ThinLTO: Do not take into account whether a definition has multiple copies when promoting. 2016-07-07 18:31:51 +00:00
alias_resolution.ll [ThinLTO] Resolve LinkOnceAny 2016-05-26 14:16:52 +00:00
autoupgrade.ll Fix bitcode auto-upgrade when using bitcode lazy loading 2016-08-14 00:01:27 +00:00
cache.ll [ThinLTO] Add caching to the new LTO API 2016-08-23 21:30:12 +00:00
crash_debuginfo.ll DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
dicompositetype-unique.ll [ThinLTO] Add a llvm-lto2 test to check that ODR type uniquing is enabled (NFC) 2016-08-23 18:39:15 +00:00
distributed_indexes.ll Restore "[ThinLTO] Emit individual index files for distributed backends" 2016-05-10 13:48:23 +00:00
drop-debug-info.ll Refactor stripDebugInfo(Function) to handle intrinsic 2016-05-07 04:10:52 +00:00
emit_imports.ll [ThinLTO] Always emit a summary when compiling in ThinLTO mode 2016-09-20 23:07:17 +00:00
funcimport.ll [ThinLTO] Add an option to llvm-lto to print some basic statistics for the index 2016-09-14 21:04:59 +00:00
internalize.ll [LTO] Fix test following r279550 2016-08-23 19:32:41 +00:00
linkonce_resolution_comdat.ll [ThinLTO] Fix temp file dumping, enable via llvm-lto and test it 2016-08-15 23:24:57 +00:00
lit.local.cfg
llvm.used.ll ThinLTO: fix assertion and refactor check for hidden use from inline ASM in a helper function 2016-05-06 08:25:33 +00:00
prefix_replace.ll [ThinLTO] Use semicolon to separate path prefix replacement 2016-05-17 18:43:22 +00:00
referenced_by_constant.ll Always traverse GlobalVariable initializer when computing the export list 2016-04-23 23:29:24 +00:00
section.ll ThinLTO: do not promote GlobalVariable that have a specific section. 2016-04-27 00:32:13 +00:00
select_right_alias_definition.ll FunctionImport: make sure we always select the right callee in presence of alias 2016-04-20 04:17:36 +00:00
weak_resolution.ll ThinLTO: Do not take into account whether a definition has multiple copies when promoting. 2016-07-07 18:31:51 +00:00
weak_resolution_single.ll ThinLTO: Remove check for multiple modules before applying weak resolutions. 2016-07-07 01:51:11 +00:00