summaryrefslogtreecommitdiff
path: root/include/llvm/IR/PrintModulePass.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/IR/PrintModulePass.h')
-rw-r--r--include/llvm/IR/PrintModulePass.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/include/llvm/IR/PrintModulePass.h b/include/llvm/IR/PrintModulePass.h
new file mode 100644
index 0000000000..a7be1c9737
--- /dev/null
+++ b/include/llvm/IR/PrintModulePass.h
@@ -0,0 +1,48 @@
+//===- PrintModulePass.h - IR Printing Passes -------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines two passes to print out a module. The PrintModulePass pass
+// simply prints out the entire module when it is executed. The
+// PrintFunctionPass class is designed to be pipelined with other
+// FunctionPass's, and prints out the functions of the module as they are
+// processed.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_IR_PRINTMODULEPASS_H
+#define LLVM_IR_PRINTMODULEPASS_H
+
+#include <string>
+
+namespace llvm {
+ class FunctionPass;
+ class ModulePass;
+ class BasicBlockPass;
+ class raw_ostream;
+
+ /// createPrintModulePass - Create and return a pass that writes the
+ /// module to the specified raw_ostream.
+ ModulePass *createPrintModulePass(raw_ostream *OS,
+ bool DeleteStream=false,
+ const std::string &Banner = "");
+
+ /// createPrintFunctionPass - Create and return a pass that prints
+ /// functions to the specified raw_ostream as they are processed.
+ FunctionPass *createPrintFunctionPass(const std::string &Banner,
+ raw_ostream *OS,
+ bool DeleteStream=false);
+
+ /// createPrintBasicBlockPass - Create and return a pass that writes the
+ /// BB to the specified raw_ostream.
+ BasicBlockPass *createPrintBasicBlockPass(raw_ostream *OS,
+ bool DeleteStream=false,
+ const std::string &Banner = "");
+} // End llvm namespace
+
+#endif