llvm/test/tools
Teresa Johnson 7e15c9e40f [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282037 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-20 23:07:17 +00:00
..
dsymutil dsymutil/modules: Reword the warning for static libraries without module caches 2016-05-20 20:36:06 +00:00
gold [ThinLTO] Always emit a summary when compiling in ThinLTO mode 2016-09-20 23:07:17 +00:00
llvm-ar test: relax the match on the timestamp 2016-07-05 01:14:53 +00:00
llvm-config
llvm-cov [llvm-cov] Demangle names for hidden instantiation views 2016-09-20 21:27:48 +00:00
llvm-cxxdump
llvm-dwp llvm-dwp: More error handling around invalid compressed sections 2016-05-23 17:59:17 +00:00
llvm-lit
llvm-lto [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
llvm-lto2 [LTO] Add ability to parse AA pipelines. 2016-09-16 21:03:21 +00:00
llvm-mc
llvm-nm Add the first of what will be a long line of additional error checks for invalid Mach-O files. 2016-08-05 18:19:40 +00:00
llvm-objdump DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
llvm-pdbdump Update llvm-pdbdump to use subcommands. 2016-06-30 17:42:48 +00:00
llvm-profdata [Profile] dump ic value profile value/site-count histogram 2016-09-20 21:04:22 +00:00
llvm-readobj [llvm-readobj] - Teach readobj to print DT_AUXILIARY dynamic tag in human readable form. 2016-09-02 07:35:19 +00:00
llvm-size llvm-size: Add --totals option 2016-09-12 17:08:28 +00:00
llvm-split Preserve blockaddress use edges in the module splitter. 2016-03-31 21:55:11 +00:00
llvm-symbolizer [Symbolize] Check if the PE file has a PDB and emit an error if we can't load it 2016-06-03 20:25:09 +00:00
lto [LIT][Darwin] Change %ld64 to be prefixed with DYLD_INSERT_LIBRARIES 2016-08-04 23:58:30 +00:00
sancov [sancov] extracting AArch64 test to a separate file. 2016-08-15 22:30:37 +00:00
sanstats [yaml2obj] Remove --format option in favor of YAML tags 2016-06-27 19:53:53 +00:00
yaml2obj [yaml2obj] Remove --format option in favor of YAML tags 2016-06-27 19:53:53 +00:00