1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Transforms/PGOProfile
Sanjay Patel 1e54216c88 [SimplifyCFG] use profile metadata to refine merging branch conditions
2nd try (original: 27ae17a6b014) with fix/test for crash. We must make
sure that TTI is available before trying to use it because it is not
required (might be another bug).

Original commit message:

This is one step towards solving:
https://llvm.org/PR49336

In that example, we disregard the recommended usage of builtin_expect,
so an expensive (unpredictable) branch is folded into another branch
that is guarding it.
Here, we read the profile metadata to see if the 1st (predecessor)
condition is likely to cause execution to bypass the 2nd (successor)
condition before merging conditions by using logic ops.

Differential Revision: https://reviews.llvm.org/D98898
2021-03-23 10:19:37 -04:00
..
Inputs [llvm-profdata] Emit Error when Invalid MemOpSize Section is Created by llvm-profdata 2021-02-23 12:51:54 -08:00
X86
bfi_verification.ll [PGO] Use the sum of profile counts to fix the function entry count 2020-12-16 13:37:43 -08:00
branch1.ll
branch2.ll
callbr.ll
chr.ll [SimplifyCFG] use profile metadata to refine merging branch conditions 2021-03-23 10:19:37 -04:00
comdat_internal.ll [test] Fix PGOProfile/comdat_internal.ll 2021-02-26 16:27:23 -08:00
comdat_rename.ll
consecutive-zeros.ll [LTO] Fix test failures caused by 6da7d3141651 2021-02-23 14:58:30 -08:00
counter_promo_exit_catchswitch.ll
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 Precommit transform tests that have poison as insertelement's placeholder 2020-12-24 11:46:17 +09:00
counter_promo_nest.ll
counter_promo.ll [InstrProfiling] Use ELF section groups for counters, data and values 2021-02-22 14:00:02 -08:00
criticaledge.ll
cspgo_profile_summary.ll
diag_FE_profile.ll
diag_mismatch.ll
diag_no_funcprofdata.ll
diag_no_profile.ll
diag_no_value_sites.ll
do-not-instrument.ll
fix_bfi.ll [PGO] Use the sum of profile counts to fix the function entry count 2020-12-16 13:37:43 -08:00
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_nouse.ll
icp_invoke.ll
icp_mismatch_msg.ll
icp_sample.ll
icp_vararg_sret.ll
icp_vararg.ll
indirect_call_annotation.ll
indirect_call_profile_funclet.ll
indirect_call_profile.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
indirect_call_promotion.ll
indirectbr.ll
infinite_loop_gen.ll
infinite_loop.ll
instr_entry_bb.ll
irreducible.ll
landingpad.ll
large_count_remarks.ll
loop1.ll
loop2.ll
memcpy.ll
memop_clone.ll
memop_hash.ll
memop_profile_funclet.ll
memop_size_annotation.ll
memop_size_from_strlen.ll
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
memop_size_opt.ll [PGO] Fix two issues in PGOMemOPSizeOpt. 2021-03-11 09:53:05 -08: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
PR28219.ll
PR41279_2.ll
PR41279.ll
preinline.ll
remap.ll
select1.ll
select2.ll
select_hash_conflict.ll
single_bb.ll
split-indirectbr-critical-edges.ll
statics_counter_naming.ll
suppl-profile.ll
switch.ll
thinlto_cspgo_gen.ll
thinlto_cspgo_use.ll
thinlto_indirect_call_promotion.ll
thinlto_samplepgo_icp2.ll
thinlto_samplepgo_icp3.ll
thinlto_samplepgo_icp_droppeddead.ll
thinlto_samplepgo_icp.ll
unreachable_bb.ll