[PATCH] Indirect call target profiling related profile reader/writer changes
Betul Buyukkurt
betulb at codeaurora.org
Thu Apr 9 11:06:08 PDT 2015
In http://reviews.llvm.org/D8908#153838, @reames wrote:
> Have the IR level construct patches made it up for review? If so, can
So far I've posted two patches. These two patches should apply cleanly to the tip, working with the present profile infrastructure. The next set of patches will be the enabler ones: i.e. three more patches one for each of clang, llvm and compiler-rt. Clang patch will be up for review later today.
> you send me a link? I managed to miss them.
So far there is this patch and the instrinsic instruction definitions: http://reviews.llvm.org/D8877. All patches are necessary for getting the IC targets and having them displayed by the llvm-profdata.
> I'm assuming this will be some type of per call site metadata?
We do assign metadata at the indirect call sites. Format looks like as follows:
!33 = metadata !{metadata !"indirect_call_targets", i64 <total_exec_count>, metadata !"target_fn1”, i64 <target_fn1_count>, metadata !"target_fn2”, i64 <target_fn2_count>, ….}
Currently, we're recording only the top most called five function names at each indirect call site. Following the string literal “indirect_call_targets” are the fields <total_exec_count> i.e. a 64 bit value for the total number of times the indirect call is executed followed by the function names and execution counts of each target.
Thanks.
-Betul
http://reviews.llvm.org/D8908
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list