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