summaryrefslogtreecommitdiff
path: root/tools/opt/PassPrinters.h
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2014-02-10 23:34:23 +0000
committerEli Bendersky <eliben@google.com>2014-02-10 23:34:23 +0000
commit8ed971b988512f059ac2cdf11f469b04d54f4f11 (patch)
tree4029227454fed88421e3cd92879408c606cd888f /tools/opt/PassPrinters.h
parent1a66b635780c22de07bc2ce12e2ff832d6698668 (diff)
downloadllvm-8ed971b988512f059ac2cdf11f469b04d54f4f11.tar.gz
llvm-8ed971b988512f059ac2cdf11f469b04d54f4f11.tar.bz2
llvm-8ed971b988512f059ac2cdf11f469b04d54f4f11.tar.xz
Move the *PassPrinter into their own module.
These are self-contained in functionality so it makes sense to separate them, as opt.cpp has grown quite big already. Following Eric's suggestions, if this code is ever deemed useful outside of tools/opt, it will make sense to move it to one of the LLVM libraries like IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201116 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/opt/PassPrinters.h')
-rw-r--r--tools/opt/PassPrinters.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/tools/opt/PassPrinters.h b/tools/opt/PassPrinters.h
new file mode 100644
index 0000000000..cf46ef9e36
--- /dev/null
+++ b/tools/opt/PassPrinters.h
@@ -0,0 +1,47 @@
+//===- PassPrinters.h - Utilities to print analysis info for passes -------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// \brief Utilities to print analysis info for various kinds of passes.
+///
+//===----------------------------------------------------------------------===//
+#ifndef LLVM_TOOLS_OPT_PASSPRINTERS_H
+#define LLVM_TOOLS_OPT_PASSPRINTERS_H
+
+namespace llvm {
+
+class BasicBlockPass;
+class CallGraphSCCPass;
+class FunctionPass;
+class ModulePass;
+class LoopPass;
+class PassInfo;
+class RegionPass;
+class raw_ostream;
+
+FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out,
+ bool Quiet);
+
+CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI,
+ raw_ostream &out, bool Quiet);
+
+ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out,
+ bool Quiet);
+
+LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out,
+ bool Quiet);
+
+RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out,
+ bool Quiet);
+
+BasicBlockPass *createBasicBlockPassPrinter(const PassInfo *PI,
+ raw_ostream &out, bool Quiet);
+}
+
+#endif // LLVM_TOOLS_OPT_PASSPRINTERS_H