summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/BitWriter.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2014-10-14 00:30:59 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2014-10-14 00:30:59 +0000
commitba689eeb38e962419746ef863eef56761a6f5a0e (patch)
treedb5fc7d31b2c1287f64fc671983e4eb085c3ea16 /llvm/lib/Bitcode/Writer/BitWriter.cpp
parenteb47d8a2c880611d79a468d04f287e868b8e241a (diff)
downloadbcm5719-llvm-ba689eeb38e962419746ef863eef56761a6f5a0e.tar.gz
bcm5719-llvm-ba689eeb38e962419746ef863eef56761a6f5a0e.zip
Introduce LLVMWriteBitcodeToMemoryBuffer C API function.
llvm-svn: 219643
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitWriter.cpp')
-rw-r--r--llvm/lib/Bitcode/Writer/BitWriter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitWriter.cpp b/llvm/lib/Bitcode/Writer/BitWriter.cpp
index 6c9f7b3276f..7218ea05bb5 100644
--- a/llvm/lib/Bitcode/Writer/BitWriter.cpp
+++ b/llvm/lib/Bitcode/Writer/BitWriter.cpp
@@ -39,3 +39,11 @@ int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose,
int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int FileHandle) {
return LLVMWriteBitcodeToFD(M, FileHandle, true, false);
}
+
+LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M) {
+ std::string Data;
+ raw_string_ostream OS(Data);
+
+ WriteBitcodeToFile(unwrap(M), OS);
+ return wrap(MemoryBuffer::getMemBufferCopy(OS.str()).release());
+}
OpenPOWER on IntegriCloud