diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-26 21:49:01 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-26 21:49:01 +0000 |
commit | d96d553d76b56496e73aa30910d81f0d692f36fc (patch) | |
tree | e88f2eeb131aca32e87c1a37891c47e89106a361 /llvm/lib/Object/IRObjectFile.cpp | |
parent | 59953f0dbea2678f1ad59ac75c871a888e3a9875 (diff) | |
download | bcm5719-llvm-d96d553d76b56496e73aa30910d81f0d692f36fc.tar.gz bcm5719-llvm-d96d553d76b56496e73aa30910d81f0d692f36fc.zip |
Pass a MemoryBufferRef when we can avoid taking ownership.
The attached patch simplifies a few interfaces that don't need to take
ownership of a buffer.
For example, both parseAssembly and parseBitcodeFile will parse the
entire buffer before returning. There is no need to take ownership.
Using a MemoryBufferRef makes it obvious in the type signature that
there is no ownership transfer.
llvm-svn: 216488
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/IRObjectFile.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp index 2ef359c7f00..964c7ed691d 100644 --- a/llvm/lib/Object/IRObjectFile.cpp +++ b/llvm/lib/Object/IRObjectFile.cpp @@ -268,10 +268,7 @@ ErrorOr<IRObjectFile *> llvm::object::IRObjectFile::createIRObjectFile(MemoryBufferRef Object, LLVMContext &Context) { - StringRef Data = Object.getBuffer(); - StringRef FileName = Object.getBufferIdentifier(); - std::unique_ptr<MemoryBuffer> Buff( - MemoryBuffer::getMemBuffer(Data, FileName, false)); + std::unique_ptr<MemoryBuffer> Buff(MemoryBuffer::getMemBuffer(Object, false)); ErrorOr<Module *> MOrErr = getLazyBitcodeModule(Buff.get(), Context); if (std::error_code EC = MOrErr.getError()) |