Pass a MemoryBufferRef when we can avoid taking ownership.
[oota-llvm.git] / include / llvm / IRReader / IRReader.h
index c3ccffefa84cb97d85954df0dbd6d3ba706cf9fa..2d9ace0b62a0426ba8bb3d77bab9c6eb133cf3a6 100644 (file)
 #ifndef LLVM_IRREADER_IRREADER_H
 #define LLVM_IRREADER_IRREADER_H
 
-#include "llvm/ADT/StringRef.h"
-#include <memory>
+#include "llvm/Support/MemoryBuffer.h"
 #include <string>
 
 namespace llvm {
 
 class Module;
-class MemoryBuffer;
 class SMDiagnostic;
 class LLVMContext;
 
@@ -36,8 +34,8 @@ std::unique_ptr<Module> getLazyIRFileModule(StringRef Filename,
 
 /// If the given MemoryBuffer holds a bitcode image, return a Module
 /// for it.  Otherwise, attempt to parse it as LLVM Assembly and return
-/// a Module for it. This function *never* takes ownership of Buffer.
-std::unique_ptr<Module> parseIR(MemoryBuffer *Buffer, SMDiagnostic &Err,
+/// a Module for it.
+std::unique_ptr<Module> parseIR(MemoryBufferRef Buffer, SMDiagnostic &Err,
                                 LLVMContext &Context);
 
 /// If the given file holds a bitcode image, return a Module for it.