PassPrinters.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. #include "llvm/Analysis/CallGraphSCCPass.h"
  17. #include "llvm/Analysis/LoopPass.h"
  18. #include "llvm/Analysis/RegionPass.h"
  19. namespace llvm {
  20. class BasicBlockPass;
  21. class CallGraphSCCPass;
  22. class FunctionPass;
  23. class ModulePass;
  24. class LoopPass;
  25. class PassInfo;
  26. class RegionPass;
  27. class raw_ostream;
  28. FunctionPass *createFunctionPassPrinter(const PassInfo *PI, raw_ostream &out,
  29. bool Quiet);
  30. CallGraphSCCPass *createCallGraphPassPrinter(const PassInfo *PI,
  31. raw_ostream &out, bool Quiet);
  32. ModulePass *createModulePassPrinter(const PassInfo *PI, raw_ostream &out,
  33. bool Quiet);
  34. LoopPass *createLoopPassPrinter(const PassInfo *PI, raw_ostream &out,
  35. bool Quiet);
  36. RegionPass *createRegionPassPrinter(const PassInfo *PI, raw_ostream &out,
  37. bool Quiet);
  38. BasicBlockPass *createBasicBlockPassPrinter(const PassInfo *PI,
  39. raw_ostream &out, bool Quiet);
  40. }
  41. #endif // LLVM_TOOLS_OPT_PASSPRINTERS_H