minor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
[oota-llvm.git] / include / llvm / Bytecode / Writer.h
index ae762b4a8456690b045c1ad08adfd6d39fbfc806..d18d82cfc337f205ddc7fc78cffc1aeba0e7a1d0 100644 (file)
@@ -1,34 +1,29 @@
 //===-- llvm/Bytecode/Writer.h - Writer for VM bytecode files ---*- C++ -*-===//
-// 
+//
 //                     The LLVM Compiler Infrastructure
 //
 // This file was developed by the LLVM research group and is distributed under
 // the University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
 //
-// This functionality is implemented by the lib/BytecodeWriter library.
-// This library is used to write VM bytecode files to an iostream.  First, you
-// have to make a BytecodeStream object, which you can then put a class into
-// by using operator <<.
-//
-// This library uses the Analysis library to figure out offsets for
-// variables in the method tables...
+//===----------------------------------------------------------------------===//
 //
-// Note that performance of this library is not as crucial as performance of the
-// bytecode reader (which is to be used in JIT type applications), so we have
-// designed the bytecode format to support quick reading.
+// This functionality is implemented by the lib/Bytecode/Writer library.
+// This library is used to write bytecode files to an iostream.
 //
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_BYTECODE_WRITER_H
 #define LLVM_BYTECODE_WRITER_H
 
-#include <iosfwd>
+#include "llvm/Support/Streams.h"
 
 namespace llvm {
   class Module;
-  void WriteBytecodeToFile(const Module *M, std::ostream &Out);
+  /// WriteBytecodeToFile - Write the specified module to the specified output
+  /// stream.  If compress is set to true, try to use compression when writing
+  /// out the file.  This can never fail if M is a well-formed module.
+  void WriteBytecodeToFile(const Module *M, OStream &Out,
+                           bool compress = false);
 } // End llvm namespace
 
 #endif