1 //=- PassPrinters.h - Utilities to print analysis info for passes -*- C++ -*-=// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 /// 10 /// \file 11 /// Utilities to print analysis info for various kinds of passes. 12 /// 13 //===----------------------------------------------------------------------===// 14 15 #ifndef LLVM_TOOLS_OPT_PASSPRINTERS_H 16 #define LLVM_TOOLS_OPT_PASSPRINTERS_H 17 18 #include "llvm/IR/PassManager.h" 19 20 namespace llvm { 21 22 class BasicBlockPass; 23 class CallGraphSCCPass; 24 class FunctionPass; 25 class ModulePass; 26 class LoopPass; 27 class PassInfo; 28 class raw_ostream; 29 class RegionPass; 30 class Module; 31 32 FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out, 33 bool Quiet); 34 35 CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI, 36 raw_ostream &out, bool Quiet); 37 38 ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out, 39 bool Quiet); 40 41 LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out, 42 bool Quiet); 43 44 RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out, 45 bool Quiet); 46 47 BasicBlockPass *createBasicBlockPassPrinter(const PassInfo *PI, 48 raw_ostream &out, bool Quiet); 49 50 } // end namespace llvm 51 52 #endif // LLVM_TOOLS_OPT_PASSPRINTERS_H 53