diff options
author | Chris Lattner <sabre@nondot.org> | 2001-10-18 20:31:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-10-18 20:31:42 +0000 |
commit | b44405a90d9ec3e868f196ed6a3730241d6b4de0 (patch) | |
tree | 48ad5a8f42fa35d06244f61620740e052a249fe4 /include/llvm/Bytecode/WriteBytecodePass.h | |
parent | 986fced5f9b3ef06f514cba66db499acffdc9711 (diff) |
initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@902 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Bytecode/WriteBytecodePass.h')
-rw-r--r-- | include/llvm/Bytecode/WriteBytecodePass.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/llvm/Bytecode/WriteBytecodePass.h b/include/llvm/Bytecode/WriteBytecodePass.h new file mode 100644 index 0000000000..6a0edbcd99 --- /dev/null +++ b/include/llvm/Bytecode/WriteBytecodePass.h @@ -0,0 +1,32 @@ +//===- llvm/Bytecode/WriteBytecodePass.h - Bytecode Writer Pass --*- C++ -*--=// +// +// This file defines a simple pass to write the working module to a file after +// pass processing is completed. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_BYTECODE_WRITEBYTECODEPASS_H +#define LLVM_BYTECODE_WRITEBYTECODEPASS_H + +#include "llvm/Pass.h" +#include "llvm/Bytecode/Writer.h" + +class WriteBytecodePass : public Pass { + ostream *Out; // ostream to print on + bool DeleteStream; +public: + inline WriteBytecodePass(ostream *o = &cout, bool DS = false) + : Out(o), DeleteStream(DS) { + } + + inline ~WriteBytecodePass() { + if (DeleteStream) delete Out; + } + + bool doPassFinalization(Module *M) { + WriteBytecodeToFile(M, *Out); + return false; + } +}; + +#endif |