diff options
author | Eli Bendersky <eliben@google.com> | 2014-02-10 23:34:23 +0000 |
---|---|---|
committer | Eli Bendersky <eliben@google.com> | 2014-02-10 23:34:23 +0000 |
commit | 8ed971b988512f059ac2cdf11f469b04d54f4f11 (patch) | |
tree | 4029227454fed88421e3cd92879408c606cd888f /tools/opt/PassPrinters.h | |
parent | 1a66b635780c22de07bc2ce12e2ff832d6698668 (diff) | |
download | llvm-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.h | 47 |
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 |