summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-12-19 18:37:59 +0000
committerChris Lattner <sabre@nondot.org>2008-12-19 18:37:59 +0000
commitaf4c0bf44f76f0902e90ebf36a7072754f0b414f (patch)
treee4e833a9a6079eb7aceaa46f193c278533346798 /llvm/include
parentb289d4163b3421bc6d28ebf3b5b8c03256d7a347 (diff)
downloadbcm5719-llvm-af4c0bf44f76f0902e90ebf36a7072754f0b414f.tar.gz
bcm5719-llvm-af4c0bf44f76f0902e90ebf36a7072754f0b414f.zip
Add support for writing LLVM IR to a specified BitstreamWriter.
Patch by Lukasz Janyst! llvm-svn: 61251
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Bitcode/BitstreamWriter.h3
-rw-r--r--llvm/include/llvm/Bitcode/ReaderWriter.h5
2 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/Bitcode/BitstreamWriter.h b/llvm/include/llvm/Bitcode/BitstreamWriter.h
index f76bb88dee8..7fd23fe4166 100644
--- a/llvm/include/llvm/Bitcode/BitstreamWriter.h
+++ b/llvm/include/llvm/Bitcode/BitstreamWriter.h
@@ -76,6 +76,9 @@ public:
BlockInfoRecords.pop_back();
}
}
+
+ std::vector<unsigned char> &getBuffer() { return Out; }
+
//===--------------------------------------------------------------------===//
// Basic Primitives for emitting bits to the stream.
//===--------------------------------------------------------------------===//
diff --git a/llvm/include/llvm/Bitcode/ReaderWriter.h b/llvm/include/llvm/Bitcode/ReaderWriter.h
index f18b4fc090f..7b1e06f6553 100644
--- a/llvm/include/llvm/Bitcode/ReaderWriter.h
+++ b/llvm/include/llvm/Bitcode/ReaderWriter.h
@@ -22,6 +22,7 @@ namespace llvm {
class ModuleProvider;
class MemoryBuffer;
class ModulePass;
+ class BitstreamWriter;
class raw_ostream;
/// getBitcodeModuleProvider - Read the header of the specified bitcode buffer
@@ -45,6 +46,10 @@ namespace llvm {
/// raw output stream.
void WriteBitcodeToFile(const Module *M, raw_ostream &Out);
+ /// WriteBitcodeToStream - Write the specified module to the specified
+ /// raw output stream.
+ void WriteBitcodeToStream(const Module *M, BitstreamWriter &Stream);
+
/// CreateBitcodeWriterPass - Create and return a pass that writes the module
/// to the specified ostream.
ModulePass *CreateBitcodeWriterPass(std::ostream &Str);
OpenPOWER on IntegriCloud