1 //===- PassPrinters.h - Utilities to print analysis info for passes -------===// 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 /// \brief Utilities to print analysis info for various kinds of passes. 12 /// 13 //===----------------------------------------------------------------------===// 14 #ifndef LLVM_TOOLS_OPT_PASSPRINTERS_H 15 #define LLVM_TOOLS_OPT_PASSPRINTERS_H 16 17 namespace llvm { 18 19 class BasicBlockPass; 20 class CallGraphSCCPass; 21 class FunctionPass; 22 class ModulePass; 23 class LoopPass; 24 class PassInfo; 25 class RegionPass; 26 class raw_ostream; 27 28 FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out, 29 bool Quiet); 30 31 CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI, 32 raw_ostream &out, bool Quiet); 33 34 ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out, 35 bool Quiet); 36 37 LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out, 38 bool Quiet); 39 40 RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out, 41 bool Quiet); 42 43 BasicBlockPass *createBasicBlockPassPrinter(const PassInfo *PI, 44 raw_ostream &out, bool Quiet); 45 } 46 47 #endif // LLVM_TOOLS_OPT_PASSPRINTERS_H 48