Add a small utility class to configure IR printers. This will allow
authorDavid Greene <greened@obbligato.org>
Tue, 21 Jul 2009 18:21:46 +0000 (18:21 +0000)
committerDavid Greene <greened@obbligato.org>
Tue, 21 Jul 2009 18:21:46 +0000 (18:21 +0000)
printers to do neat and wonderful things when printing debug
information.  The ideas is to allow passes to configer printers to emit
pass-specific information when dumping IR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76602 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/Dump.h [new file with mode: 0644]

diff --git a/include/llvm/Support/Dump.h b/include/llvm/Support/Dump.h
new file mode 100644 (file)
index 0000000..a95875b
--- /dev/null
@@ -0,0 +1,41 @@
+//===- 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_SUPPORT_DUMP_H
+#define LLVM_SUPPORT_DUMP_H
+
+namespace llvm {
+
+class MachineBasicBlock;
+class MachineInstr;
+
+// PrefixPrinter - Print some additional information before printing
+// basic blocks and instructions.
+class PrefixPrinter {
+public:
+  virtual ~PrefixPrinter() {}
+
+  virtual std::string operator()(const MachineBasicBlock &) const {
+    return("");
+  };
+
+  virtual std::string operator()(const MachineInstr &) const {
+    return("");
+  };  
+};
+} // End llvm namespace
+
+#endif