1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/include/llvm/ProfileData
Xinliang David Li 859c330e8f [PGO] Improve Indexed Profile Reader efficiency
With the support of value profiling added, the Indexed prof
reader gets less efficient. The prof reader initialization
used to be just reading the file header, but with VP support
added, initialization needs to walk through all profile keys
of ondisk hash table resulting in very poor locality and large
memory increase (keys are stored together with the profile data
in the mapped profile buffer). Even worse, when the reader is 
used by the compiler (not llvm-profdata too), the penalty becomes
very high as compilation of each single module requires touching
profile data buffer for the whole program. 

In this patch, the icall target values (MD5hash) are no longer eargerly 
converted back to name strings when the data is read into memory. New
interface is added to to profile reader so that InstrProfSymtab can be
lazily created for Indexed profile reader on-demand. Creating of the 
symtab is intended to be used by llvm-profdata tool for symbolic dumping
of  VP data. It can be used with compiler (for legacy out of tree uses)
too but not recommended due to compile time and memory reasons 
mentioned above.

Some other cleanups are also included: Function Addr to md5 map is now
consolated into InstrProfSymtab. InstrProfStringtab is no longer used and
eliminated.

llvm-svn: 256114
2015-12-20 06:22:13 +00:00
..
CoverageMapping.h Use makeArrayRef or None to avoid unnecessarily mentioning the ArrayRef type extra times. NFC 2015-09-21 05:32:41 +00:00
CoverageMappingReader.h [Object] Search for architecures by name in MachOUniversalBinary::getObjectForArch() 2015-06-22 21:33:24 +00:00
CoverageMappingWriter.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
InstrProf.h [PGO] Improve Indexed Profile Reader efficiency 2015-12-20 06:22:13 +00:00
InstrProfData.inc Add a forward declaration (NFC) 2015-12-10 20:13:41 +00:00
InstrProfReader.h [PGO] Improve Indexed Profile Reader efficiency 2015-12-20 06:22:13 +00:00
InstrProfWriter.h [PGO] Improve Indexed Profile Reader efficiency 2015-12-20 06:22:13 +00:00
SampleProf.h [PGO] Handle and report overflow during profile merge for all types of data 2015-12-16 21:45:43 +00:00
SampleProfReader.h SamplePGO - Reduce memory utilization by 10x. 2015-12-11 23:21:38 +00:00
SampleProfWriter.h [ProfileData] Add unit test infrastructure for sample profile reader/writer 2015-12-10 17:21:42 +00:00