llvm-project/llvm/test/ThinLTO/X86
Teresa Johnson c844f8846a [ThinLTO/WPD] Fix index-based WPD for available_externally vtables
Summary:
Clang does not add type metadata to available_externally vtables. When
choosing a summary to look at for virtual function definitions, make
sure we skip summaries for any available externally vtables as they will
not describe any virtual function functions, which are only summarized
in the presence of type metadata on the vtable def. Simply look for the
corresponding strong def's summary.

Also add handling for same-named local vtables with the same GUID
because of same-named files without enough distinguishing path.
In that case we return a conservative result with no devirtualization.

Reviewers: pcc, davidxl, evgeny777

Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69452
2019-10-30 17:59:08 -07:00
..
Inputs [ThinLTO/WPD] Fix index-based WPD for available_externally vtables 2019-10-30 17:59:08 -07:00
alias_import.ll [ThinLTO] Use original alias visibility when importing 2019-05-29 16:50:46 +00:00
alias_internal.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
alias_resolution.ll [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
autoupgrade.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
builtin-nostrip.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cache-config.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cache-icall.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cache-import-lists.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cache-typeid-resolutions.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cache.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
callees-metadata.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cfi-devirt.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cfi-distributed.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cfi-icall-only-defuse.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cfi-icall.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
cfi.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
crash_debuginfo.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
deadstrip.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
debuginfo-compositetype-import.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
debuginfo-cu-import.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
devirt-after-icp.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
devirt.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
devirt2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
devirt_available_externally.ll [ThinLTO/WPD] Fix index-based WPD for available_externally vtables 2019-10-30 17:59:08 -07:00
devirt_local_same_guid.ll [ThinLTO/WPD] Fix index-based WPD for available_externally vtables 2019-10-30 17:59:08 -07:00
devirt_promote.ll [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary 2019-10-02 16:36:59 +00:00
devirt_promote_legacy.ll One more attempt to fix PS4 buildbot after r375219 2019-10-18 14:11:19 +00:00
devirt_single_hybrid.ll [ThinLTO] Import virtual method with single implementation in hybrid mode 2019-10-17 07:46:18 +00:00
diagnostic-handler-remarks-with-hotness.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
diagnostic-handler-remarks.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dicompositetype-unique-alias.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dicompositetype-unique.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dicompositetype-unique2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
distributed_import.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
distributed_indexes.ll [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
dot-dumper-full-lto.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dot-dumper.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dot-dumper2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
drop-debug-info.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dsolocal_dllimport.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
emit_imports.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
empty-module.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
empty_module_with_cache.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
export.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
funcimport-debug.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
funcimport-tbaa.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
funcimport.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
funcimport2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
function_entry_count.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
globals-import-blockaddr.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
globals-import-const-fold.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
globals-import.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
guid_collision.ll [LLD][ThinLTO] Handle GUID collision in import global processing 2019-10-25 12:36:01 -07:00
import_opaque_type.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-O0.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-alias.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-cache.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-comdat.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-dead.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-full-lto.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-gvref.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-ldst.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop-linkage.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
index-const-prop2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
internalize.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
lazyload_metadata.ll Reland: Dead Virtual Function Elimination 2019-10-17 09:58:57 +00:00
linkonce_aliasee_ref_import.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linkonce_odr_unnamed_addr.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
linkonce_resolution_comdat.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
lit.local.cfg [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
llvm.used.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
load-store-caching.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
local_name_conflict.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
local_name_conflict_var.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
merge-triple.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
module_asm2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
module_asm_glob.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
module_summary_graph_traits.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
newpm-basic.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
nodevirt-nonpromoted-typeid.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
noinline.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
not-internalized.ll [ThinLTO] Don't internalize during promotion 2019-10-22 09:24:12 +00:00
personality-local.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
personality.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
pr35472.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
prefix_replace.ll [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
printer.ll Revert r370105 - Update two x86 datalayouts for r370083, looks like racing commits 2019-08-28 01:55:06 +00:00
reference_non_importable.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
referenced_by_constant.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
save_objects.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
section.ll [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
strong_non_prevailing.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
thinlto-internalize-used.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
tli-nobuiltin.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
weak_externals.ll [ThinLTO] Don't internalize during promotion 2019-10-22 09:24:12 +00:00
weak_resolution.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
weak_resolution_single.ll [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
writeonly.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
writeonly2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00