1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/lib/ProfileData
Vedant Kumar 19b73c8e94 [Coverage] Add an API to retrive all instantiations of a function (NFC)
The CoverageMapping::getInstantiations() API retrieved all function
records corresponding to functions with more than one instantiation (e.g
template functions with multiple specializations). However, there was no
simple way to determine *which* function a given record was an
instantiation of. This was an oversight, since it's useful to aggregate
coverage information over all instantiations of a function.

llvm-cov works around this by building a mapping of source locations to
instantiation sets, but this duplicates logic that libCoverage already
has (see FunctionInstantiationSetCollector).

This change adds a new API, CoverageMapping::getInstantiationGroups(),
which returns a list of InstantiationGroups. A group contains records
for each instantiation of some particular function, and also provides
utilities to get the total execution count within the group, the source
location of the common definition, etc.

This lets removes some hacky logic in llvm-cov by reusing
FunctionInstantiationSetCollector and makes the CoverageMapping API
friendlier for other clients.

llvm-svn: 309904
2017-08-02 23:35:25 +00:00
..
Coverage [Coverage] Add an API to retrive all instantiations of a function (NFC) 2017-08-02 23:35:25 +00:00
CMakeLists.txt
InstrProf.cpp [ProfData] Detect if zlib is available 2017-07-21 21:41:15 +00:00
InstrProfReader.cpp Prototype: Reduce llvm-profdata merge memory usage further 2017-07-06 19:00:12 +00:00
InstrProfWriter.cpp llvm-profdata: Reduce memory usage by using Error callback rather than member 2017-07-10 03:04:59 +00:00
LLVMBuild.txt
ProfileSummaryBuilder.cpp
SampleProf.cpp SamplePGO: convert callsite samples map key from callsite_location to callsite_location+callee_name 2017-04-13 19:52:10 +00:00
SampleProfReader.cpp SamplePGO: convert callsite samples map key from callsite_location to callsite_location+callee_name 2017-04-13 19:52:10 +00:00
SampleProfWriter.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00