Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)"
This reverts commit 1037ef2574adde2103ad221d63834c3e1df4a776.
llvm-svn: 274105
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
index ac3fe46..2d83320 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -236,13 +236,11 @@
Expected<std::unique_ptr<CoverageMapping>>
CoverageMapping::load(StringRef ObjectFilename, StringRef ProfileFilename,
StringRef Arch) {
- auto CounterMappingBufOrErr = MemoryBuffer::getFileOrSTDIN(ObjectFilename);
- if (std::error_code EC = CounterMappingBufOrErr.getError())
+ auto CounterMappingBuff = MemoryBuffer::getFileOrSTDIN(ObjectFilename);
+ if (std::error_code EC = CounterMappingBuff.getError())
return errorCodeToError(EC);
- std::unique_ptr<MemoryBuffer> ObjectBuffer =
- std::move(CounterMappingBufOrErr.get());
auto CoverageReaderOrErr =
- BinaryCoverageReader::create(*ObjectBuffer.get(), Arch);
+ BinaryCoverageReader::create(CounterMappingBuff.get(), Arch);
if (Error E = CoverageReaderOrErr.takeError())
return std::move(E);
auto CoverageReader = std::move(CoverageReaderOrErr.get());
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
index 1230054..1a4b4f5 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
@@ -641,7 +641,8 @@
}
Expected<std::unique_ptr<BinaryCoverageReader>>
-BinaryCoverageReader::create(MemoryBuffer &ObjectBuffer, StringRef Arch) {
+BinaryCoverageReader::create(std::unique_ptr<MemoryBuffer> &ObjectBuffer,
+ StringRef Arch) {
std::unique_ptr<BinaryCoverageReader> Reader(new BinaryCoverageReader());
StringRef Coverage;
@@ -649,12 +650,12 @@
support::endianness Endian;
Error E;
consumeError(std::move(E));
- if (ObjectBuffer.getBuffer().startswith(TestingFormatMagic))
+ if (ObjectBuffer->getBuffer().startswith(TestingFormatMagic))
// This is a special format used for testing.
- E = loadTestingFormat(ObjectBuffer.getBuffer(), Reader->ProfileNames,
+ E = loadTestingFormat(ObjectBuffer->getBuffer(), Reader->ProfileNames,
Coverage, BytesInAddress, Endian);
else
- E = loadBinaryFormat(ObjectBuffer.getMemBufferRef(), Reader->ProfileNames,
+ E = loadBinaryFormat(ObjectBuffer->getMemBufferRef(), Reader->ProfileNames,
Coverage, BytesInAddress, Endian, Arch);
if (E)
return std::move(E);