aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/PrintModulePass.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-10-18 20:31:54 +0000
committerChris Lattner <sabre@nondot.org>2001-10-18 20:31:54 +0000
commit1992ce1ee43f4ff74186725f09357efddabf0366 (patch)
treeea4c948dd73d91ce155219bc1599fb8f6aec7d67 /include/llvm/Transforms/PrintModulePass.h
parentb44405a90d9ec3e868f196ed6a3730241d6b4de0 (diff)
Refactor code into Assembly & bytecode libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@903 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/PrintModulePass.h')
-rw-r--r--include/llvm/Transforms/PrintModulePass.h68
1 files changed, 0 insertions, 68 deletions
diff --git a/include/llvm/Transforms/PrintModulePass.h b/include/llvm/Transforms/PrintModulePass.h
deleted file mode 100644
index a7a4412076..0000000000
--- a/include/llvm/Transforms/PrintModulePass.h
+++ /dev/null
@@ -1,68 +0,0 @@
-//===- llvm/Transforms/PrintModulePass.h - Printing Pass ---------*- C++ -*--=//
-//
-// This file defines a simple pass to print out methods of a module as they are
-// processed.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_TRANSFORMS_PRINTMODULE_H
-#define LLVM_TRANSFORMS_PRINTMODULE_H
-
-#include "llvm/Pass.h"
-#include "llvm/Assembly/Writer.h"
-#include "llvm/Bytecode/Writer.h"
-
-class PrintModulePass : public Pass {
- string Banner; // String to print before each method
- ostream *Out; // ostream to print on
- bool DeleteStream; // Delete the ostream in our dtor?
- bool PrintPerMethod; // Print one method at a time rather than the whole?
-public:
- inline PrintModulePass(const string &B, ostream *o = &cout,
- bool DS = false,
- bool printPerMethod = true)
- : Banner(B), Out(o), DeleteStream(DS), PrintPerMethod(printPerMethod) {
- }
-
- inline ~PrintModulePass() {
- if (DeleteStream) delete Out;
- }
-
- // doPerMethodWork - This pass just prints a banner followed by the method as
- // it's processed.
- //
- bool doPerMethodWork(Method *M) {
- if (PrintPerMethod)
- (*Out) << Banner << M;
- return false;
- }
-
- // doPassFinalization - Virtual method overriden by subclasses to do any post
- // processing needed after all passes have run.
- //
- bool doPassFinalization(Module *M) {
- if (! PrintPerMethod)
- (*Out) << Banner << M;
- return false;
- }
-};
-
-class WriteModuleBytecode : public Pass {
- ostream *Out; // ostream to print on
- bool DeleteStream;
-public:
- inline WriteModuleBytecode(ostream *o = &cout, bool DS = false)
- : Out(o), DeleteStream(DS) {
- }
-
- inline ~WriteModuleBytecode() {
- if (DeleteStream) delete Out;
- }
-
- bool doPassFinalization(Module *M) {
- WriteBytecodeToFile(M, *Out);
- return false;
- }
-};
-
-#endif