llvm-project/llvm/test/Transforms/PGOProfile
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 [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
X86
PR28219.ll
branch1.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
branch2.ll
comdat_internal.ll
comdat_rename.ll
counter_promo.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
counter_promo_exit_merge.ll [PGO] Enhance pgo counter promotion 2017-07-12 23:27:44 +00:00
counter_promo_mexits.ll [PGO] Enhance pgo counter promotion 2017-07-12 23:27:44 +00:00
counter_promo_nest.ll [PGO] Enhance pgo counter promotion 2017-07-12 23:27:44 +00:00
criticaledge.ll
diag_FE_profile.ll
diag_mismatch.ll
diag_no_funcprofdata.ll
diag_no_profile.ll
do-not-instrument.ll
icp_covariant_call_return.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
icp_covariant_invoke_return.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
icp_invoke.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
icp_invoke_nouse.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
icp_mismatch_msg.ll [ICP] Migrate to OptimizationRemarkEmitter 2017-07-27 16:54:15 +00:00
icp_sample.ll Add null check for promoted direct call 2017-08-29 15:28:12 +00:00
icp_vararg.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
indirect_call_annotation.ll
indirect_call_profile.ll
indirect_call_promotion.ll [ICP] Expose unconditional call promotion interface 2017-12-20 19:26:37 +00:00
indirectbr.ll Split IndirectBr critical edges before PGO gen/use passes. 2017-12-12 19:07:43 +00:00
infinite_loop.ll [PGO] Skip counter promotion for infinite loops 2017-11-30 19:16:25 +00:00
infinite_loop_gen.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
irreducible.ll Add heuristics for irreducible loop metadata under PGO 2017-11-20 21:03:38 +00:00
landingpad.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
loop1.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
loop2.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memop_clone.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memop_size_annotation.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memop_size_from_strlen.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memop_size_opt.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memop_size_opt_zero.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
multiple_hash_profile.ll
noreturncall.ll [PGO] add MST min edge selection heuristic to ensure non-zero entry count 2017-12-18 17:56:19 +00:00
preinline.ll
select1.ll
select2.ll
single_bb.ll
split-indirectbr-critical-edges.ll Split IndirectBr critical edges before PGO gen/use passes. 2017-12-12 19:07:43 +00:00
statics_counter_naming.ll
switch.ll
thinlto_indirect_call_promotion.ll Make ICP uses PSI to check for hotness. 2017-08-08 20:57:33 +00:00
thinlto_samplepgo_icp.ll Make ICP uses PSI to check for hotness. 2017-08-08 20:57:33 +00:00
thinlto_samplepgo_icp2.ll [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
thinlto_samplepgo_icp3.ll [ThinLTO] Fix dead stripping analysis for SamplePGO 2017-09-20 17:09:47 +00:00
thinlto_samplepgo_icp_droppeddead.ll [ThinLTO] Remove dead and dropped symbol declarations when possible 2018-02-06 00:43:39 +00:00
unreachable_bb.ll