diff options
Diffstat (limited to 'llvm/lib/ObjectYAML/OffloadEmitter.cpp')
| -rw-r--r-- | llvm/lib/ObjectYAML/OffloadEmitter.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/ObjectYAML/OffloadEmitter.cpp b/llvm/lib/ObjectYAML/OffloadEmitter.cpp index dfb572531660..8692ad8a5865 100644 --- a/llvm/lib/ObjectYAML/OffloadEmitter.cpp +++ b/llvm/lib/ObjectYAML/OffloadEmitter.cpp @@ -38,14 +38,10 @@ bool yaml2offload(Binary &Doc, raw_ostream &Out, ErrorHandler EH) { Member.Content->writeAsBinary(OS); Image.Image = MemoryBuffer::getMemBufferCopy(OS.str()); - std::unique_ptr<MemoryBuffer> Binary = object::OffloadBinary::write(Image); - // Copy the data to a new buffer so we can modify the bytes directly. - SmallVector<char> NewBuffer; - std::copy(Binary->getBufferStart(), Binary->getBufferEnd(), - std::back_inserter(NewBuffer)); + auto Buffer = object::OffloadBinary::write(Image); auto *TheHeader = - reinterpret_cast<object::OffloadBinary::Header *>(&NewBuffer[0]); + reinterpret_cast<object::OffloadBinary::Header *>(&Buffer[0]); if (Doc.Version) TheHeader->Version = *Doc.Version; if (Doc.Size) @@ -55,7 +51,7 @@ bool yaml2offload(Binary &Doc, raw_ostream &Out, ErrorHandler EH) { if (Doc.EntrySize) TheHeader->EntrySize = *Doc.EntrySize; - Out.write(NewBuffer.begin(), NewBuffer.size()); + Out.write(Buffer.begin(), Buffer.size()); } return true; |
