]> granicus.if.org Git - llvm/commitdiff
Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)"
authorVedant Kumar <vsk@apple.com>
Wed, 29 Jun 2016 05:33:24 +0000 (05:33 +0000)
committerVedant Kumar <vsk@apple.com>
Wed, 29 Jun 2016 05:33:24 +0000 (05:33 +0000)
This reverts commit 1037ef2574adde2103ad221d63834c3e1df4a776.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274105 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ProfileData/Coverage/CoverageMappingReader.h
lib/ProfileData/Coverage/CoverageMapping.cpp
lib/ProfileData/Coverage/CoverageMappingReader.cpp

index daa16d35c37c459bc9b7bc4989eac6107ce648d6..db907f128d931e5edb7211cbed5ee2b43d1b856e 100644 (file)
@@ -181,7 +181,8 @@ private:
 
 public:
   static Expected<std::unique_ptr<BinaryCoverageReader>>
-  create(MemoryBuffer &ObjectBuffer, StringRef Arch);
+  create(std::unique_ptr<MemoryBuffer> &ObjectBuffer,
+         StringRef Arch);
 
   Error readNextRecord(CoverageMappingRecord &Record) override;
 };
index ac3fe4635fb2686e5e3a343d944dbfdeb1ff1edd..2d833204c919c8edd95cf3d68c705f0f1e176ea4 100644 (file)
@@ -236,13 +236,11 @@ CoverageMapping::load(CoverageMappingReader &CoverageReader,
 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());
index 1230054267fc5befd60b73e7829c7518bf879afd..1a4b4f59084106b8523e4dc5ad1a1e4f83d022ac 100644 (file)
@@ -641,7 +641,8 @@ static Error loadBinaryFormat(MemoryBufferRef ObjectBuffer,
 }
 
 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 @@ BinaryCoverageReader::create(MemoryBuffer &ObjectBuffer, StringRef Arch) {
   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);