llvm-project/llvm/test/ThinLTO/X86
Teresa Johnson 791c98e4c8 [ThinLTO] Remove dead and dropped symbol declarations when possible
Summary:
Removing the dropped symbols will prevent indirect call promotion in the
ThinLTO Backend from adding a new reference to a symbol, which can
result in linker unsats. This can happen when we compile with a sample
profile collected from one binary by used for another, which may have
profiled targets that aren't used in the new binary.

Note that until dropDeadSymbols handles variables and aliases (in
progress), we may not be able to remove the declaration and can still
have an issue.

Reviewers: grimar, davidxl

Subscribers: mehdi_amini, inglorion, llvm-commits, eraman

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

llvm-svn: 324299
2018-02-06 00:43:39 +00:00
..
Inputs Teach ValueMapper to use ODR uniqued types when available 2018-01-30 20:16:32 +00:00
alias_import.ll Make internal/private GVs implicitly dso_local. 2018-01-11 22:15:05 +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-icall.ll Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +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 [Support][CachePruning] Disable cache pruning regression fix 2017-12-19 14:42:38 +00:00
cfi-icall.ll [cfi] CFI-ICall for ThinLTO. 2017-06-16 00:18:29 +00:00
crash_debuginfo.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
deadstrip.ll [ThinLTO] Remove dead and dropped symbol declarations when possible 2018-02-06 00:43:39 +00:00
debuginfo-compositetype-import.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
debuginfo-cu-import.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
diagnostic-handler-remarks-with-hotness.ll Emit only A Single Opt Remark When Inlining 2017-08-21 16:45:47 +00:00
diagnostic-handler-remarks.ll Emit only A Single Opt Remark When Inlining 2017-08-21 16:45:47 +00:00
dicompositetype-unique-alias.ll Teach ValueMapper to use ODR uniqued types when available 2018-01-30 20:16:32 +00:00
dicompositetype-unique.ll [LTO] Update tests for r320905 2017-12-16 02:40:20 +00:00
dicompositetype-unique2.ll Fix crash when linking metadata with ODR type uniquing 2018-01-09 18:32:53 +00:00
distributed_import.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
distributed_indexes.ll [ThinLTO] Make distributed indexes test more robust 2017-12-18 18:00:32 +00:00
dot-dumper.ll [ThinLTO] Re-commit of dot dumper after test fix 2018-01-22 13:35:40 +00:00
drop-debug-info.ll
emit_imports.ll llvm-lto2: Move the LTO::run() action behind a subcommand. 2017-04-11 18:12:00 +00:00
empty-module.ll Remove trailing whitespace 2017-12-16 02:12:35 +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 Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
funcimport-tbaa.ll
funcimport.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
funcimport2.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
import_opaque_type.ll
internalize.ll [ThinLTO] - Stop internalizing and drop non-prevailing symbols. 2018-01-29 08:03:30 +00:00
lazyload_metadata.ll Irreducible loop metadata for more accurate block frequency under PGO. 2017-11-02 22:26:51 +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 Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +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 [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
module_asm_glob.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10: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
noinline.ll [ThinLTO] Don't import functions with noinline attribute 2017-12-25 13:57:24 +00:00
personality-local.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
personality.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
prefix_replace.ll [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
reference_non_importable.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
referenced_by_constant.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
save_objects.ll
section.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
weak_resolution_single.ll