aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2009-07-21 18:21:46 +0000
committerDavid Greene <greened@obbligato.org>2009-07-21 18:21:46 +0000
commit20574a913e76a1f2f2bab1ba5d3973179a7daf77 (patch)
tree90e099313734161a0276f4c7c1459c23f13171ae
parent8f6353fb2f05d8a85927f89fbe65079ad0214146 (diff)
Add a small utility class to configure IR printers. This will allow
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
-rw-r--r--include/llvm/Support/Dump.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/llvm/Support/Dump.h b/include/llvm/Support/Dump.h
new file mode 100644
index 0000000000..a95875b681
--- /dev/null
+++ b/include/llvm/Support/Dump.h
@@ -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