1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/test/Transforms/PGOProfile
Teresa Johnson ddb22b2673 [ThinLTO] Perform profile-guided indirect call promotion
Summary:
To enable profile-guided indirect call promotion in ThinLTO mode, we
simply add call graph edges for each profitable target from the profile
to the summaries, then the summary-guided importing will consider the
callee for importing as usual.

Also we need to enable the indirect call promotion pass creation in the
PassManagerBuilder when PerformThinLTO=true (we are in the ThinLTO
backend), so that the newly imported functions are considered for
promotion in the backends.

The IC promotion profiles refer to callees by GUID, which required
adding GUIDs to the per-module VST in bitcode (and assigning them
valueIds similar to how they are assigned valueIds in the combined
index).

Reviewers: mehdi_amini, xur

Subscribers: mehdi_amini, davidxl, llvm-commits

Differential Revision: http://reviews.llvm.org/D21932

llvm-svn: 275707
2016-07-17 14:47:01 +00:00
..
Inputs [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00
X86 [PGO] resubmit r268969 2016-05-10 17:45:33 +00:00
branch1.ll Bring back r271090 in a way that doesn't depend on r271089. 2016-05-28 04:05:36 +00:00
branch2.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
comdat_internal.ll [PM] port IR based PGO prof-gen pass to new pass manager 2016-05-06 05:49:19 +00:00
criticaledge.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
diag_FE_profile.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
diag_mismatch.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
diag_no_funcprofdata.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
diag_no_profile.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
do-not-instrument.ll [PM] port IR based PGO prof-gen pass to new pass manager 2016-05-06 05:49:19 +00:00
icp_covariant_call_return.ll [PM] Port indirect call promotion pass to new pass manager 2016-05-16 16:31:07 +00:00
icp_covariant_invoke_return.ll [PM] Port indirect call promotion pass to new pass manager 2016-05-16 16:31:07 +00:00
icp_invoke.ll [PM] Port indirect call promotion pass to new pass manager 2016-05-16 16:31:07 +00:00
icp_mismatch_msg.ll make icall pass name consistent /NFC 2016-06-02 01:52:05 +00:00
icp_vararg.ll [PM] Port indirect call promotion pass to new pass manager 2016-05-16 16:31:07 +00:00
indirect_call_annotation.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
indirect_call_profile.ll [profile] value profiling bug fix -- missing icall targets in profile-use 2016-06-02 16:33:41 +00:00
indirect_call_promotion.ll make icall pass name consistent /NFC 2016-06-02 01:52:05 +00:00
landingpad.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
loop1.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
loop2.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
PR28219.ll Fix PR28219: Use profile summary from reader and not compute it 2016-06-21 19:29:49 +00:00
preinline.ll [PGO] IRPGO pre-cleanup pass changes 2016-07-15 18:10:49 +00:00
single_bb.ll [PM] port IR based PGO prof-gen pass to new pass manager 2016-05-06 05:49:19 +00:00
statics_counter_naming.ll [PGO] Don't include full file path in static function profile counter names 2016-07-12 17:14:51 +00:00
switch.ll [PM]: port IR based profUse pass to new pass manager 2016-05-10 21:59:52 +00:00
thinlto_indirect_call_promotion.ll [ThinLTO] Perform profile-guided indirect call promotion 2016-07-17 14:47:01 +00:00