1193323Sed//===- llvm/Assembly/PrintModulePass.h - Printing Pass ----------*- C++ -*-===// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// 10193323Sed// This file defines two passes to print out a module. The PrintModulePass pass 11193323Sed// simply prints out the entire module when it is executed. The 12193323Sed// PrintFunctionPass class is designed to be pipelined with other 13193323Sed// FunctionPass's, and prints out the functions of the module as they are 14193323Sed// processed. 15193323Sed// 16193323Sed//===----------------------------------------------------------------------===// 17193323Sed 18193323Sed#ifndef LLVM_ASSEMBLY_PRINTMODULEPASS_H 19193323Sed#define LLVM_ASSEMBLY_PRINTMODULEPASS_H 20193323Sed 21193323Sed#include <string> 22193323Sed 23193323Sednamespace llvm { 24193323Sed class FunctionPass; 25193323Sed class ModulePass; 26252723Sdim class BasicBlockPass; 27193323Sed class raw_ostream; 28193323Sed 29193323Sed /// createPrintModulePass - Create and return a pass that writes the 30193323Sed /// module to the specified raw_ostream. 31206124Srdivacky ModulePass *createPrintModulePass(raw_ostream *OS, 32206124Srdivacky bool DeleteStream=false, 33206124Srdivacky const std::string &Banner = ""); 34193323Sed 35193323Sed /// createPrintFunctionPass - Create and return a pass that prints 36193323Sed /// functions to the specified raw_ostream as they are processed. 37193323Sed FunctionPass *createPrintFunctionPass(const std::string &Banner, 38193323Sed raw_ostream *OS, 39193323Sed bool DeleteStream=false); 40193323Sed 41252723Sdim /// createPrintBasicBlockPass - Create and return a pass that writes the 42252723Sdim /// BB to the specified raw_ostream. 43252723Sdim BasicBlockPass *createPrintBasicBlockPass(raw_ostream *OS, 44252723Sdim bool DeleteStream=false, 45252723Sdim const std::string &Banner = ""); 46193323Sed} // End llvm namespace 47193323Sed 48193323Sed#endif 49