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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216488 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-08-26 21:49:01 +00:00
parent af07403c3e
commit 2292996e1a
16 changed files with 58 additions and 71 deletions

View File

@ -413,13 +413,10 @@ std::error_code Module::materializeAll() {
return Materializer->MaterializeModule(this);
}
std::error_code Module::materializeAllPermanently(bool ReleaseBuffer) {
std::error_code Module::materializeAllPermanently() {
if (std::error_code EC = materializeAll())
return EC;
if (ReleaseBuffer)
Materializer->releaseBuffer();
Materializer.reset();
return std::error_code();
}