//===-- llvm/Bytecode/Writer.h - Writer for VM bytecode files ---*- C++ -*-===//
//
-// 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 <<.
+// The LLVM Compiler Infrastructure
//
-// This library uses the Analysis library to figure out offsets for
-// variables in the method tables...
+// 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.
//
-// 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"
-class Module;
-void WriteBytecodeToFile(const Module *C, std::ostream &Out);
+namespace llvm {
+ class Module;
+ /// 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