llvm-project/llvm/test/Transforms/PGOProfile
Dehao Chen efd007f6f4 Add null check for promoted direct call
Summary: We originally assume that in pgo-icp, the promoted direct call will never be null after strip point casts. However, stripPointerCasts is so smart that it could possibly return the value of the function call if it knows that the return value is always an argument. In this case, the returned value cannot cast to Instruction. In this patch, null check is added to ensure null pointer will not be accessed.

Reviewers: tejohnson, xur, davidxl, djasper

Reviewed By: tejohnson

Subscribers: llvm-commits, sanjoy

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

llvm-svn: 312005
2017-08-29 15:28:12 +00:00
..
Inputs [PGO] Set edge weights for indirectbr instruction with profile counts 2017-08-23 21:36:02 +00:00
X86
PR28219.ll
branch1.ll [PGO] Move the PGOInstrumentation pass to new OptRemark API. 2017-07-20 20:43:05 +00:00
branch2.ll
comdat_internal.ll Resubmit r297897: [PGO] Value profile for size of memory intrinsic calls 2017-03-16 21:15:48 +00:00
comdat_rename.ll Resubmit "[PGO] Turn off comdat renaming in IR PGO by default" 2017-01-11 20:19:41 +00:00
counter_promo.ll [PGO] Implementate profile counter regiser promotion 2017-06-25 00:26:43 +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 Create PHI node for the return value only when the return value has uses. 2017-08-28 18:57:00 +00:00
icp_covariant_invoke_return.ll
icp_invoke.ll Make ICP uses PSI to check for hotness. 2017-08-08 20:57:33 +00:00
icp_invoke_nouse.ll Create PHI node for the return value only when the return value has uses. 2017-08-28 18:57:00 +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
indirect_call_annotation.ll
indirect_call_profile.ll Resubmit "[PGO] Turn off comdat renaming in IR PGO by default" 2017-01-11 20:19:41 +00:00
indirect_call_promotion.ll Make ICP uses PSI to check for hotness. 2017-08-08 20:57:33 +00:00
indirectbr.ll [PGO] Set edge weights for indirectbr instruction with profile counts 2017-08-23 21:36:02 +00:00
landingpad.ll
loop1.ll
loop2.ll
memcpy.ll [PGO] Add omitted test cases. 2017-03-17 20:05:13 +00:00
memop_clone.ll [PGO] Fixed assertion due to mismatched memcpy size type. 2017-08-18 19:17:08 +00:00
memop_size_annotation.ll [PGO] Value profile for size of memory intrinsic calls 2017-03-17 18:07:26 +00:00
memop_size_from_strlen.ll [PATCH] [PGO] Fixed cast operation in emIntrinsicVisitor::instrumentOneMemIntrinsic. 2017-06-19 20:04:33 +00:00
memop_size_opt.ll Keep Optimization Remark Yaml in NewPM 2017-08-20 01:30:45 +00:00
memop_size_opt_zero.ll Memory intrinsic value profile optimization: Avoid divide by 0 2017-04-28 14:30:54 +00:00
multiple_hash_profile.ll Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
noreturncall.ll Fix the test cases committed in r289521. 2016-12-13 17:34:29 +00:00
preinline.ll
select1.ll
select2.ll
single_bb.ll
statics_counter_naming.ll [PGO] Directory name stripping in global identifier for static functions 2017-02-25 00:00:36 +00:00
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
unreachable_bb.ll