llvm-mirror/test/ThinLTO/X86
Teresa Johnson a7d69b86de [ThinLTO] Only emit referenced type id records in index files
Summary:
Currently all type ids are emitted into the index file when it is
written. For distributed ThinLTO, that meant that all type ids were
being duplicated into every single distributed index file, regardless of
whether they were referenced, leading to huge amounts of unnecessary
duplication and size bloat.

Keep track of the type id GUIDs actually referenced by the GV summary
records being emitted, and only emit those type IDs.

Add a new test, and fix test/Assembler/thinlto-summary.ll so that all
type ids are referenced to prevent deletion in that test.

Reviewers: pcc

Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, vitalybuka, llvm-commits

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

llvm-svn: 337503
2018-07-19 22:25:56 +00:00
..
Inputs [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
alias_import.ll [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
alias_resolution.ll
autoupgrade.ll [ThinLTO] Add string saver onto index for value names 2018-06-26 02:29:08 +00:00
cache-config.ll
cache-icall.ll
cache-import-lists.ll
cache-typeid-resolutions.ll
cache.ll [ThinLTO] Update ThinLTO cache file atimes when on Windows 2018-07-04 14:17:10 +00:00
callees-metadata.ll
cfi-devirt.ll [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM 2018-07-19 14:51:32 +00:00
cfi-distributed.ll [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
cfi-icall.ll [LowerTypeTests] Limit when icall jumptable entries are emitted 2018-07-13 19:57:39 +00:00
cfi.ll [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM 2018-07-19 14:51:32 +00:00
crash_debuginfo.ll
deadstrip.ll [ThinLTO] Fix test 2018-06-27 19:00:35 +00:00
debuginfo-compositetype-import.ll
debuginfo-cu-import.ll
diagnostic-handler-remarks-with-hotness.ll
diagnostic-handler-remarks.ll
dicompositetype-unique2.ll
dicompositetype-unique-alias.ll
dicompositetype-unique.ll
distributed_import.ll
distributed_indexes.ll [ThinLTO] Fix printing of aliases for distributed backend indexes 2018-07-03 01:11:43 +00:00
dot-dumper.ll
drop-debug-info.ll
dsolocal_dllimport.ll
emit_imports.ll [ThinLTO] Use std::map to get determistic imports files 2018-07-10 20:06:04 +00:00
empty_module_with_cache.ll
empty-module.ll
export.ll
funcimport2.ll
funcimport-debug.ll [ThinLTO] Print names in function import debug messages when available 2018-06-27 18:03:39 +00:00
funcimport-tbaa.ll
funcimport.ll
globals-import-const-fold.ll
globals-import.ll
import_opaque_type.ll
internalize.ll
lazyload_metadata.ll
linkonce_aliasee_ref_import.ll
linkonce_odr_unnamed_addr.ll
linkonce_resolution_comdat.ll
lit.local.cfg
llvm.used.ll
local_name_conflict.ll
merge-triple.ll
module_asm2.ll
module_asm_glob.ll
module_summary_graph_traits.ll
newpm-basic.ll
noinline.ll
personality-local.ll
personality.ll
prefix_replace.ll
reference_non_importable.ll
referenced_by_constant.ll
save_objects.ll
section.ll
tli-nobuiltin.ll
weak_resolution_single.ll
weak_resolution.ll