//===- llvm/Support/Dump.h - Easy way to tailor dump output -----*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file provides the PrefixPrinter interface to pass to MachineFunction // and MachineBasicBlock print methods to output additional information before // blocks and instructions are printed. // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_DUMP_H #define LLVM_CODEGEN_DUMP_H #include namespace llvm { class MachineBasicBlock; class MachineInstr; class raw_ostream; /// PrefixPrinter - Print some additional information before printing /// basic blocks and instructions. class PrefixPrinter { public: virtual ~PrefixPrinter(); /// operator() - Print a prefix before each MachineBasicBlock virtual raw_ostream &operator()(raw_ostream &out, const MachineBasicBlock &) const { return out; } /// operator() - Print a prefix before each MachineInstr virtual raw_ostream &operator()(raw_ostream &out, const MachineInstr &) const { return out; } /// operator() - Print a prefix before each MachineBasicBlock virtual std::ostream &operator()(std::ostream &out, const MachineBasicBlock &) const { return out; } /// operator() - Print a prefix before each MachineInstr virtual std::ostream &operator()(std::ostream &out, const MachineInstr &) const { return out; } }; } // End llvm namespace #endif