[llvm] r219643 - Introduce LLVMWriteBitcodeToMemoryBuffer C API function.
Peter Collingbourne
peter at pcc.me.uk
Mon Oct 13 17:30:59 PDT 2014
Author: pcc
Date: Mon Oct 13 19:30:59 2014
New Revision: 219643
URL: http://llvm.org/viewvc/llvm-project?rev=219643&view=rev
Log:
Introduce LLVMWriteBitcodeToMemoryBuffer C API function.
Modified:
llvm/trunk/include/llvm-c/BitWriter.h
llvm/trunk/lib/Bitcode/Writer/BitWriter.cpp
Modified: llvm/trunk/include/llvm-c/BitWriter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/BitWriter.h?rev=219643&r1=219642&r2=219643&view=diff
==============================================================================
--- llvm/trunk/include/llvm-c/BitWriter.h (original)
+++ llvm/trunk/include/llvm-c/BitWriter.h Mon Oct 13 19:30:59 2014
@@ -45,6 +45,9 @@ int LLVMWriteBitcodeToFD(LLVMModuleRef M
descriptor. Returns 0 on success. Closes the Handle. */
int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle);
+/** Writes a module to a new memory buffer and returns it. */
+LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M);
+
/**
* @}
*/
Modified: llvm/trunk/lib/Bitcode/Writer/BitWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/BitWriter.cpp?rev=219643&r1=219642&r2=219643&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Writer/BitWriter.cpp (original)
+++ llvm/trunk/lib/Bitcode/Writer/BitWriter.cpp Mon Oct 13 19:30:59 2014
@@ -39,3 +39,11 @@ int LLVMWriteBitcodeToFD(LLVMModuleRef M
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());
+}
More information about the llvm-commits
mailing list