llvm-project/llvm/test/ThinLTO/X86/Inputs
Teresa Johnson 0c432b1a70 [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
..
alias_import.ll
alias_resolution.ll
autoupgrade.bc
cache-icall.ll
cache-import-lists1.ll
cache-import-lists2.ll
cache-typeid-resolutions-import.ll
cache-typeid-resolutions1.ll
cache-typeid-resolutions2.ll
cache-typeid-resolutions3.ll
cache.ll
callees-metadata.ll [ThinLTO] Add funtions in callees metadata to CallGraphEdges 2018-03-13 04:26:58 +00:00
cfi-distributed.ll [ThinLTO] Only emit referenced type id records in index files 2018-07-19 22:25:56 +00:00
crash_debuginfo.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
deadstrip.ll
debuginfo-compositetype-import.ll
debuginfo-cu-import.ll
diagnostic-handler-remarks.ll
dicompositetype-unique-alias.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
dicompositetype-unique.ll
dicompositetype-unique2.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
distributed_import.ll
distributed_indexes.ll
dot-dumper.ll [ThinLTO] Re-commit of dot dumper after test fix 2018-01-22 13:35:40 +00:00
drop-debug-info.bc
drop-debug-info.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
dsolocal_dllimport.ll [ThinLTO] Clear dllimport when setting dso_local. 2018-03-13 15:24:51 +00:00
emit_imports.ll
emit_imports2.ll [ThinLTO] Use std::map to get determistic imports files 2018-07-10 20:06:04 +00:00
empty.ll
empty_module_with_cache.ll
export.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
funcimport2.ll
globals-import-cf-baz.ll [ThinLTO] Recommit of import global variables 2018-03-12 10:30:50 +00:00
globals-import.ll [ThinLTO] Recommit of import global variables 2018-03-12 10:30:50 +00:00
import_opaque_type.ll
lazyload_metadata.ll
linkonce_aliasee_ref_import.ll
linkonce_resolution_comdat.ll
llvm.used.ll
local_name_conflict1.ll
local_name_conflict2.ll
merge-triple.ll
module_asm.ll
module_asm2.ll
noinline.ll
personality-local.ll
personality.ll
reference_non_importable.ll
referenced_by_constant.ll
section.ll
select_right_alias_definition1.ll
select_right_alias_definition2.ll
weak_resolution.ll