PassPrinters.h revision 360784
1//=- PassPrinters.h - Utilities to print analysis info for passes -*- C++ -*-=// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8/// 9/// \file 10/// Utilities to print analysis info for various kinds of passes. 11/// 12//===----------------------------------------------------------------------===// 13 14#ifndef LLVM_TOOLS_OPT_PASSPRINTERS_H 15#define LLVM_TOOLS_OPT_PASSPRINTERS_H 16 17#include "llvm/IR/PassManager.h" 18 19namespace llvm { 20 21class CallGraphSCCPass; 22class FunctionPass; 23class ModulePass; 24class LoopPass; 25class PassInfo; 26class raw_ostream; 27class RegionPass; 28class Module; 29 30FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out, 31 bool Quiet); 32 33CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI, 34 raw_ostream &out, bool Quiet); 35 36ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out, 37 bool Quiet); 38 39LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out, 40 bool Quiet); 41 42RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out, 43 bool Quiet); 44 45} // end namespace llvm 46 47#endif // LLVM_TOOLS_OPT_PASSPRINTERS_H 48