llvm-project/llvm/test/ThinLTO/X86
Fangrui Song 54fb3ca96e [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags
Imported functions and variable get the visibility from the module supplying the
definition.  However, non-imported definitions do not get the visibility from
(ELF) the most constraining visibility among all modules (Mach-O) the visibility
of the prevailing definition.

This patch

* adds visibility bits to GlobalValueSummary::GVFlags
* computes the result visibility and propagates it to all definitions

Protected/hidden can imply dso_local which can enable some optimizations (this
is stronger than GVFlags::DSOLocal because the implied dso_local can be
leveraged for ELF -shared while default visibility dso_local has to be cleared
for ELF -shared).

Note: we don't have summaries for declarations, so for ELF if a declaration has
the most constraining visibility, the result visibility may not be that one.

Differential Revision: https://reviews.llvm.org/D92900
2021-01-27 10:43:51 -08:00
..
Inputs [NFCI] Add missing triple to several LTO tests 2020-12-09 13:13:58 -08:00
alias_import.ll
alias_internal.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
alias_resolution.ll
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 Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
cache.ll [ThinLTO] [test] cache.ll: Prevent Spotlight indexing of the output dir 2020-07-28 21:21:58 -07: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 [InstCombine] Always try to invert non-canonical predicate of an icmp 2020-07-04 18:12:04 +03: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-unsat.ll Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-07-14 12:16:57 -07:00
cfi.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
crash_debuginfo.ll [test] Make ThinLTO/X86/crash_debuginfo.ll work with -enable-new-pm=1 2020-10-27 12:37:19 -07: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 Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt.ll [WPD] Provide a way to prevent functions from being devirtualized 2020-03-09 14:05:15 +03:00
devirt2.ll Restore "[ThinLTO] Avoid temporaries when loading global decl attachment metadata" 2020-10-12 10:11:56 -07:00
devirt_alias.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt_available_externally.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt_external_comdat_same_guid.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08: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_multiple_type_test.ll [WPD] Allow virtual calls to be analyzed with multiple type tests 2020-06-24 10:51:24 -07:00
devirt_promote.ll [test] Fix unused FileCheck prefix in ThinLTO test 2020-11-02 09:06:36 -08:00
devirt_promote_legacy.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt_single_hybrid.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt_vcall_vis_hidden.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08:00
devirt_vcall_vis_public.ll Restore "[LTO/WPD] Enable aggressive WPD under LTO option" 2020-01-27 07:55:05 -08: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 [Remarks][ThinLTO] Use the correct file extension based on the format 2019-12-02 13:04:43 -08: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] Compute the basic block count across modules. 2020-05-28 10:33:05 -07: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 [ThinLTO] Always import constants 2020-01-15 19:29:01 +03:00
dot-dumper2.ll ThinLTO : Import always_inline functions irrespective of the threshold 2019-11-08 17:02:01 -08: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 [LTO] Suppress emission of empty combined module by default 2020-05-04 18:31:09 -07: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-stats.ll [ThinLTO] Make ValueInfo::operator bool() explicit 2019-11-19 12:46:09 +03: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
funcimport_alwaysinline.ll [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08: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 [ThinLTO] Import readonly vars with refs 2019-11-07 15:13:35 +03:00
guid_collision.ll Recommit "[ThinLTO] Handle GUID collision in import global processing"" 2019-11-01 13:57:01 -07:00
import-constant.ll [ThinLTO] Import globals recursively 2020-08-20 12:13:43 +03:00
import-metadata.ll [ThinLTO] Fix a metadata lost issue with DICompileUnit import. 2020-09-02 14:40:41 -07:00
import-ro-constant.ll [ThinLTO] Always import constants 2020-01-15 19:29:01 +03:00
import-symver.ll [ThinLTO] Import symver directives for imported symbols (PR48214) 2020-12-02 14:56:43 +01: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 [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07: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 [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-dead.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-full-lto.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-gvref-pie.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-gvref.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-ldst.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
index-const-prop-linkage.ll [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07: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 [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() 2020-04-07 15:46:01 -07:00
internalize.ll [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab 2020-08-26 10:15:00 -07:00
lazyload_metadata.ll Make lazyload_metadata.ll resilient to the addition of new metadata kinds 2019-12-26 18:23:08 -05: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 [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
local_name_conflict.ll [ThinLTO] Import readonly vars with refs 2019-11-07 15:13:35 +03:00
local_name_conflict_var.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
mangled_symbol.ll [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab 2020-08-26 10:15:00 -07: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 Fix [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle() 2020-03-01 19:35:58 +02: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 Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-07-14 12:16:57 -07:00
noinline.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
nossp.ll [ThinLTO][test] Fix X86/nossp.ll after D91816 2020-12-02 13:13:58 -08: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
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 [ThinLTO] Disable "Always import constants" due to compile time issues 2020-01-30 10:12:48 -08:00
save_objects.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
section.ll
strong_non_prevailing.ll Reland "[llvm-nm] Don't report "no symbols" error for files that contain symbols" 2020-01-17 10:08:42 -08:00
thinlto-internalize-doublepromoted.ll [ThinLTO] Handle variable with twice promoted name (Rust) 2020-01-14 10:54:03 -08: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
type_test_noindircall.ll Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP" 2020-07-14 12:16:57 -07:00
visibility-elf.ll [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
visibility-macho.ll [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
weak_externals.ll [ThinLTO] Don't internalize during promotion 2019-10-22 09:24:12 +00:00
weak_resolution.ll [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab 2020-08-26 10:15:00 -07:00
weak_resolution_single.ll [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab 2020-08-26 10:15:00 -07:00
writeonly-with-refs.ll [ThinLTO] Fix importing of writeonly variables in distributed ThinLTO 2019-12-04 14:59:27 -08:00
writeonly.ll [ThinLTO] Add option to disable readonly/writeonly attribute propagation 2019-12-05 16:33:54 -08:00
writeonly2.ll [ThinLTO] Fix importing of writeonly variables in distributed ThinLTO 2019-12-04 14:59:27 -08:00