llvm-project/llvm/test/ThinLTO/X86
Haojie Wang 1dec57d5b0 ThinLTO Minimized Bitcode File Size Reduction
Summary: Currently the ThinLTO minimized bitcode file only strip the debug info, but there is still a lot of information in the minimized bit code file that will be not used for thin linker. In this patch, most of the extra information is striped to reduce the minimized bitcode file. Now only ModuleVersion, ModuleInfo, ModuleGlobalValueSummary, ModuleHash, Symtab and Strtab are left. Now the minimized bitcode file size is reduced to 15%-30% of the debug info stripped bitcode file size.

Reviewers: danielcdh, tejohnson, pcc

Reviewed By: pcc

Subscribers: mehdi_amini, aprantl, inglorion, eraman, llvm-commits

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

llvm-svn: 308760
2017-07-21 17:25:20 +00:00
..
Inputs [ThinLTO] Do not assert when adding a module with a different but 2017-05-18 03:52:29 +00:00
alias_import.ll [ThinLTO] Only promote exported locals as marked in index 2016-11-14 19:21:41 +00:00
alias_resolution.ll
autoupgrade.ll Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
cache-config.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
cache-import-lists.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
cache-typeid-resolutions.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
cache.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
cfi-icall.ll [cfi] CFI-ICall for ThinLTO. 2017-06-16 00:18:29 +00:00
crash_debuginfo.ll Verifier: Disallow a line number without a file in DISubprogram 2017-02-17 23:57:42 +00:00
deadstrip.ll Move summary dead stripping before regular LTO. 2017-06-02 18:24:17 +00:00
debuginfo-compositetype-import.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
debuginfo-cu-import.ll Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
diagnostic-handler-remarks-with-hotness.ll [LTOs] Allow generation of hotness information 2016-12-02 17:53:56 +00:00
diagnostic-handler-remarks.ll [tests] Be explicit about the files we want to remove. 2017-02-10 22:55:37 +00:00
dicompositetype-unique.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
distributed_import.ll ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
distributed_indexes.ll Bitcode: Add a string table to the bitcode format. 2017-04-17 17:51:36 +00:00
drop-debug-info.ll [ThinLTO] Rework llvm-link to use the FunctionImporter 2017-01-04 14:27:31 +00:00
emit_imports.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
empty_module_with_cache.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
export.ll [ThinLTO] Thin link efficiency improvement: don't re-export globals (NFC) 2016-12-15 23:50:06 +00:00
funcimport-tbaa.ll [ThinLTO] Fix assertions on lazy-loading of Metadata TBAA attachments 2017-01-07 20:24:23 +00:00
funcimport.ll [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +00:00
funcimport2.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
import_opaque_type.ll [ThinLTO] Fix crash when importing an opaque type 2016-11-19 18:44:16 +00:00
internalize.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
lazyload_metadata.ll Add !associated metadata. 2017-03-17 22:17:24 +00:00
linkonce_aliasee_ref_import.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
linkonce_resolution_comdat.ll Temporarily revert "For X86-64 linux and PPC64 linux align int128 to 16 bytes." 2017-02-10 04:35:32 +00:00
lit.local.cfg
llvm.used.ll
local_name_conflict.ll [ThinLTO] Import static functions from the same module as caller 2017-01-12 22:04:45 +00:00
merge-triple.ll [ThinLTO] Do not assert when adding a module with a different but 2017-05-18 03:52:29 +00:00
module_asm2.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
module_asm_glob.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
newpm-basic.ll [ThinLTO] Move -lto-use-new-pm to llvm-lto2, and change it to -use-new-pm. 2017-06-01 23:13:44 +00:00
prefix_replace.ll
reference_non_importable.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
referenced_by_constant.ll [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +00:00
save_objects.ll [ThinLTO] Add an API to trigger file-based API for returning objects to the linker 2016-12-14 04:56:42 +00:00
section.ll
select_right_alias_definition.ll
tli-nobuiltin.ll Add support for -fno-builtin to LTO and ThinLTO to libLTO 2017-03-28 18:55:44 +00:00
weak_resolution.ll [ThinLTO] Drop non-prevailing non-ODR weak to declarations 2017-01-20 21:54:58 +00:00
weak_resolution_single.ll