llvm-project/llvm/test/LTO/Resolution/X86
Xin Tong bfdad33b82 [ThinLTO] Keep non-prevailing (linkonce|weak)_odr symbols live
Summary:
If we have a symbol with (linkonce|weak)_odr linkage, we do not want
to dead strip it even it is not prevailing.

IR level (linkonce|weak)_odr symbol can become non-prevailing when we mix
ELF objects and IR objects where the (linkonce|weak)_odr symbol in the ELF
object is prevailing and the ones in the IR objects are not. Stripping
them will prevent us from doing optimizations with them.

By not dead stripping them, We will convert these symbols to
available_externally linkage as a result of non-prevailing and eventually
dropping them after inlining.

I modified cache-prevailing.ll to use linkonce linkage as it is
testing whether cache prevailing bit is effective or not, not
we should treat linkonce_odr alive or not

Reviewers: tejohnson, pcc

Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, llvm-commits

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

llvm-svn: 343970
2018-10-08 15:12:48 +00:00
..
Inputs [LTO] Fix linking with an alias defined using another alias. 2018-07-13 21:58:55 +00:00
alias-alias.ll [LTO] Fix linking with an alias defined using another alias. 2018-07-13 21:58:55 +00:00
alias.ll
asm-output.ll
cache-dso-local.ll LTO: Include dso-local bit in ThinLTO cache key. 2018-02-05 17:17:51 +00:00
cache-dso-local2.ll LTO: Also include dso-local bit for calls in ThinLTO cache key. 2018-02-05 23:46:32 +00:00
cache-prevailing.ll [ThinLTO] Keep non-prevailing (linkonce|weak)_odr symbols live 2018-10-08 15:12:48 +00:00
comdat-mixed-lto.ll [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
comdat.ll Make internal/private GVs implicitly dso_local. 2018-01-11 22:15:05 +00:00
common2.ll [ThinLTO] Disallow multiple prevailing defs 2017-12-15 16:27:33 +00:00
commons.ll [LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local. 2017-11-04 17:04:39 +00:00
dead-strip-alias.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
dead-strip-fulllto.ll [ThinLTO] Disallow multiple prevailing defs 2017-12-15 16:27:33 +00:00
diagnostic-handler-remarks-with-hotness.ll Enrich inline messages 2018-08-05 14:53:08 +00:00
diagnostic-handler-remarks.ll Enrich inline messages 2018-08-05 14:53:08 +00:00
empty-bitcode.test
export-jumptable.ll [LowerTypeTests] Limit when icall jumptable entries are emitted 2018-07-13 19:57:39 +00:00
function-alias-non-prevailing.ll
ifunc.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
intrinsic.ll
link-odr-availextern.ll
linker-redef-thin.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
linker-redef.ll
linkonce.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
lit.local.cfg
load-sample-prof-icp.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
load-sample-prof.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
lowertypetests.ll Reland r313157, "ThinLTO: Correctly follow aliasee references when dead stripping." which was reverted in r313222. 2017-09-14 05:02:59 +00:00
mixed_lto.ll
mod-asm-used.ll [ThinLTO] Add per-module indexes to combined index consistently 2018-06-26 01:32:58 +00:00
multi-thinlto.ll
not-prevailing-alias.ll [ThinLTO] Convert dead alias to declarations 2018-02-05 15:44:27 +00:00
not-prevailing-variables.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
not-prevailing.ll LTO: Drop comdats when converting definitions to declarations. 2018-01-31 02:51:03 +00:00
setting-dso-local.ll Don't drop dso_local in LTO. 2018-01-18 05:38:43 +00:00
symtab-elf.ll
symtab.ll Object: Improve COFF irsymtab comdat representation. 2017-11-21 22:06:20 +00:00
type-checked-load.ll