blob: cf46ef9e36d2177493e866f1ded1299bbe022a07 [file] [log] [blame]
Eli Benderskyb60f8382014-02-10 23:34:23 +00001//===- 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
17namespace llvm {
18
19class BasicBlockPass;
20class CallGraphSCCPass;
21class FunctionPass;
22class ModulePass;
23class LoopPass;
24class PassInfo;
25class RegionPass;
26class raw_ostream;
27
28FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out,
29 bool Quiet);
30
31CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI,
32 raw_ostream &out, bool Quiet);
33
34ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out,
35 bool Quiet);
36
37LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out,
38 bool Quiet);
39
40RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out,
41 bool Quiet);
42
43BasicBlockPass *createBasicBlockPassPrinter(const PassInfo *PI,
44 raw_ostream &out, bool Quiet);
45}
46
47#endif // LLVM_TOOLS_OPT_PASSPRINTERS_H