llvm-cov: Allow creating CoverageMappings from filenames

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218185 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Justin Bogner
2014-09-20 17:19:52 +00:00
parent 9eb38163a5
commit 7df63b7d54
3 changed files with 20 additions and 19 deletions

View File

@@ -183,6 +183,20 @@ CoverageMapping::load(ObjectFileCoverageMappingReader &CoverageReader,
return std::move(Coverage);
}
ErrorOr<std::unique_ptr<CoverageMapping>>
CoverageMapping::load(StringRef ObjectFilename, StringRef ProfileFilename) {
auto CounterMappingBuff = MemoryBuffer::getFileOrSTDIN(ObjectFilename);
if (auto EC = CounterMappingBuff.getError())
return EC;
ObjectFileCoverageMappingReader CoverageReader(CounterMappingBuff.get());
if (auto EC = CoverageReader.readHeader())
return EC;
std::unique_ptr<IndexedInstrProfReader> ProfileReader;
if (auto EC = IndexedInstrProfReader::create(ProfileFilename, ProfileReader))
return EC;
return load(CoverageReader, *ProfileReader);
}
namespace {
/// \brief Distributes functions into instantiation sets.
///