forked from OSchip/llvm-project
[PGO] More comments how function pointers for indirect calls are mapped
to function names Summary: Hopefully this will make it easier for the next person to figure all this out... Reviewers: bogner, davidxl Subscribers: davidxl, cfe-commits Differential Revision: http://reviews.llvm.org/D18489 llvm-svn: 264678
This commit is contained in:
parent
3e9664fd60
commit
9734583a92
|
@ -133,6 +133,15 @@ VALUE_PROF_FUNC_PARAM(uint32_t, CounterIndex, Type::getInt32Ty(Ctx))
|
|||
#else
|
||||
#define INSTR_PROF_DATA_DEFINED
|
||||
#endif
|
||||
/* For indirect function call value profiling, the addresses of the target
|
||||
* functions are profiled by the instrumented code. The target addresses are
|
||||
* written in the raw profile data and converted to target function name's MD5
|
||||
* hash by the profile reader during deserialization. Typically, this happens
|
||||
* when the the raw profile data is read during profile merging.
|
||||
*
|
||||
* For this remapping the ProfData is used. ProfData contains both the function
|
||||
* name hash and the function address.
|
||||
*/
|
||||
VALUE_PROF_KIND(IPVK_IndirectCallTarget, 0)
|
||||
/* These two kinds must be the last to be
|
||||
* declared. This is to make sure the string
|
||||
|
|
Loading…
Reference in New Issue