llvm-project/llvm/test/Transforms/PGOProfile
Andrew Wei 0af3e6a22d [InstCombine] Sink instructions with multiple users in a successor block.
This patch tries to sink instructions when they are only used in a successor block.

This is a further enhancement patch based on Anna's commit:
D109700, which allows sinking an instruction having multiple uses in a single user.

In this patch, sink instructions with multiple users in a single successor block will be supported.
It could fix a known issue from rust:
  https://github.com/rust-lang/rust/issues/51346#issuecomment-394443610

Reviewed By: nikic, reames

Differential Revision: https://reviews.llvm.org/D121585
2022-03-18 11:53:45 +08:00
..
Inputs Revert "Revert "Revert "[misexpect] Re-implement MisExpect Diagnostics""" 2022-03-18 00:21:33 +00:00
X86
PR28219.ll
PR41279.ll
PR41279_2.ll
bfi_verification.ll
branch1.ll
branch2.ll
callbr.ll [llvm][test] rewrite callbr to use i rather than X constraint NFC 2022-01-11 11:31:08 -08:00
chr.ll [InstCombine] Sink instructions with multiple users in a successor block. 2022-03-18 11:53:45 +08:00
comdat.ll [InstrProfiling] Keep profd non-private for non-renamable comdat functions 2021-08-24 20:14:03 -07:00
comdat_internal.ll [InstrProfiling] Make CountersPtr in __profd_ relative 2021-07-30 11:52:18 -07:00
comdat_rename.ll
consecutive-zeros.ll [LTO] Fix test failures caused by 6da7d31416 2021-02-23 14:58:30 -08:00
counter_promo.ll [InstrProfiling] Use ELF section groups for counters, data and values 2021-02-22 14:00:02 -08:00
counter_promo_exit_catchswitch.ll [InstrProf] Use i32 for GEP index from lowering llvm.instrprof.increment 2021-11-19 15:45:14 -08:00
counter_promo_exit_merge.ll
counter_promo_mexits.ll [InstrProfiling] Use ELF section groups for counters, data and values 2021-02-22 14:00:02 -08:00
counter_promo_nest-inseltpoison.ll
counter_promo_nest.ll
coverage.ll [InstrProf] Add single byte coverage mode 2022-01-27 17:38:55 -08:00
criticaledge.ll
cspgo_profile_summary.ll [SimplifyCFG] Rerun PHI deduplication after common code sinkinkg (PR51092) 2021-07-15 16:34:34 +03:00
diag_FE_profile.ll
diag_mismatch.ll [llvm-profdata] Make diagnostics consistent with the (no capitalization, no period) style 2021-06-19 14:54:25 -07:00
diag_no_funcprofdata.ll [llvm-profdata] Make diagnostics consistent with the (no capitalization, no period) style 2021-06-19 14:54:25 -07:00
diag_no_profile.ll
diag_no_value_sites.ll
do-not-instrument.ll
fix_bfi.ll
fix_entry_count.ll
func_entry.ll
hash_mismatch_metadata.ll Emit metadata when instr. profiles hash mismatch occurs. 2021-01-29 12:56:01 -08:00
icp_covariant_call_return.ll
icp_covariant_invoke_return.ll
icp_invoke.ll
icp_invoke_nouse.ll
icp_mismatch_msg.ll
icp_sample.ll
icp_vararg.ll
icp_vararg_sret.ll
indirect_call_annotation.ll
indirect_call_profile.ll [InstrProfiling] Make CountersPtr in __profd_ relative 2021-07-30 11:52:18 -07:00
indirect_call_profile_funclet.ll
indirect_call_promotion.ll
indirect_call_promotion_byval.ll
indirect_call_promotion_musttail.ll
indirect_call_promotion_unique.ll [IndirectCallPromotion] Recommit "Don't strip ".__uniq." suffix when it strips 2021-03-12 13:48:14 -08:00
indirect_call_promotion_vla.ll
indirectbr.ll
infinite_loop.ll
infinite_loop_gen.ll
instr_entry_bb.ll [InstrProf] Use i32 for GEP index from lowering llvm.instrprof.increment 2021-11-19 15:45:14 -08:00
irreducible.ll PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges regardless of PHIs 2022-02-23 16:27:37 -08:00
landingpad.ll
large_count_remarks.ll
loop1.ll
loop2.ll
lto_cspgo_gen.ll [CSPGO] Fix lost IRPGOFlag in CSPGO instrumentation 2021-08-24 09:41:29 -07:00
memcpy.ll [InstrProfiling] Make CountersPtr in __profd_ relative 2021-07-30 11:52:18 -07:00
memop_clone.ll
memop_hash.ll
memop_profile_funclet.ll
memop_size_annotation.ll
memop_size_from_strlen.ll
memop_size_opt.ll [PGO] Fix two issues in PGOMemOPSizeOpt. 2021-03-11 09:53:05 -08:00
memop_size_opt_skip_ranges_promote_three.ll [PGO] Fix two issues in PGOMemOPSizeOpt. 2021-03-11 09:53:05 -08:00
memop_size_opt_zero.ll
mismatched-byval.ll [CallPromotion] Check for inalloca/byval mismatch 2021-08-13 16:52:04 -07:00
mismatched-inalloca.ll [CallPromotion] Check for inalloca/byval mismatch 2021-08-13 16:52:04 -07:00
multiple_hash_profile.ll
noprofile.ll Support for instrumenting only selected files or functions 2021-01-26 17:13:34 -08:00
noreturncall.ll
not_promote_ret_exit.ll
ppc-prevent-mma-types.ll [PowerPC] Prevent the optimizer from producing wide vector types in IR. 2021-11-25 12:35:26 -06:00
preinline.ll
remap.ll
select1.ll
select2.ll
select_hash_conflict.ll
single_bb.ll
split-indirectbr-critical-edges.ll PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges regardless of PHIs 2022-02-23 16:27:37 -08:00
statics_counter_naming.ll
suppl-profile.ll
switch.ll
thinlto_cspgo_gen.ll [CSPGO] Fix lost IRPGOFlag in CSPGO instrumentation 2021-08-24 09:41:29 -07:00
thinlto_cspgo_use.ll [Passes] Run sinking/hoisting in SimplifyCFG earlier. 2021-04-30 12:23:57 +01:00
thinlto_indirect_call_promotion.ll
thinlto_samplepgo_icp.ll
thinlto_samplepgo_icp2.ll
thinlto_samplepgo_icp3.ll
thinlto_samplepgo_icp_droppeddead.ll
unreachable_bb.ll