hanchenye-llvm-project/llvm/test/ThinLTO/X86/Inputs
Teresa Johnson 6c475a7595 ThinLTO: add early "dead-stripping" on the Index
Summary:
Using the linker-supplied list of "preserved" symbols, we can compute
the list of "dead" symbols, i.e. the one that are not reachable from
a "preserved" symbol transitively on the reference graph.
Right now we are using this information to mark these functions as
non-eligible for import.

The impact is two folds:
- Reduction of compile time: we don't import these functions anywhere
  or import the function these symbols are calling.
- The limited number of import/export leads to better internalization.

Patch originally by Mehdi Amini.

Reviewers: mehdi_amini, pcc

Subscribers: llvm-commits

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

llvm-svn: 291177
2017-01-05 21:34:18 +00:00
..
alias_import.ll
alias_resolution.ll
autoupgrade.bc
cache.ll
crash_debuginfo.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
deadstrip.ll ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
debuginfo-compositetype-import.ll [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
debuginfo-cu-import.ll [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
diagnostic-handler-remarks.ll [ThinLTO] Implement -pass-remarks-output in ThinLTOCodeGenerator 2016-11-19 18:20:05 +00:00
dicompositetype-unique.ll
distributed_import.ll [LTO] Reject modules without datalayout. 2016-12-14 21:57:04 +00:00
distributed_indexes.ll
drop-debug-info.bc
drop-debug-info.ll
emit_imports.ll
empty.ll
empty_module_with_cache.ll
export.ll [ThinLTO] Thin link efficiency improvement: don't re-export globals (NFC) 2016-12-15 23:50:06 +00:00
funcimport.ll
funcimport2.ll
import_opaque_type.ll [ThinLTO] Fix crash when importing an opaque type 2016-11-19 18:44:16 +00:00
lazyload_metadata.ll Use lazy-loading of Metadata in MetadataLoader when importing is enabled (NFC) 2017-01-04 22:54:33 +00:00
linkonce_aliasee_ref_import.ll
linkonce_resolution_comdat.ll
llvm.used.ll
module_asm.ll
module_asm2.ll [ThinLTO] Fix "||" vs "|" mixup. 2016-12-27 17:45:09 +00:00
reference_non_importable.ll [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +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
section.ll
select_right_alias_definition1.ll
select_right_alias_definition2.ll
weak_resolution.ll