diff options
author | David Greene <greened@obbligato.org> | 2009-07-21 18:27:05 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2009-07-21 18:27:05 +0000 |
commit | 4b938958bcc59586508bc9681e75c2e3f5164672 (patch) | |
tree | f37f654f34a94e403bfd52903afdce872ea759dd | |
parent | 20574a913e76a1f2f2bab1ba5d3973179a7daf77 (diff) |
Add PrefixPrinter arguments to the dump routines for MachineFunction and
MachineBasicBlock. We'll use these shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76603 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/MachineBasicBlock.h | 9 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineFunction.h | 9 | ||||
-rw-r--r-- | lib/CodeGen/MachineBasicBlock.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/MachineFunction.cpp | 9 |
4 files changed, 23 insertions, 8 deletions
diff --git a/include/llvm/CodeGen/MachineBasicBlock.h b/include/llvm/CodeGen/MachineBasicBlock.h index aacc31455e..b5278b688d 100644 --- a/include/llvm/CodeGen/MachineBasicBlock.h +++ b/include/llvm/CodeGen/MachineBasicBlock.h @@ -16,6 +16,7 @@ #include "llvm/CodeGen/MachineInstr.h" #include "llvm/ADT/GraphTraits.h" +#include "llvm/Support/Dump.h" namespace llvm { @@ -309,8 +310,12 @@ public: // Debugging methods. void dump() const; - void print(std::ostream &OS) const; - void print(std::ostream *OS) const { if (OS) print(*OS); } + void print(std::ostream &OS, + const PrefixPrinter &prefix = PrefixPrinter()) const; + void print(std::ostream *OS, + const PrefixPrinter &prefix = PrefixPrinter()) const { + if (OS) print(*OS, prefix); + } /// getNumber - MachineBasicBlocks are uniquely numbered at the function /// level, unless they're not in a MachineFunction yet, in which case this diff --git a/include/llvm/CodeGen/MachineFunction.h b/include/llvm/CodeGen/MachineFunction.h index ea6a384d22..4937b23a6d 100644 --- a/include/llvm/CodeGen/MachineFunction.h +++ b/include/llvm/CodeGen/MachineFunction.h @@ -20,6 +20,7 @@ #include "llvm/ADT/ilist.h" #include "llvm/Support/DebugLoc.h" +#include "llvm/Support/Dump.h" #include "llvm/CodeGen/MachineBasicBlock.h" #include "llvm/Support/Annotation.h" #include "llvm/Support/Allocator.h" @@ -207,8 +208,12 @@ public: /// print - Print out the MachineFunction in a format suitable for debugging /// to the specified stream. /// - void print(std::ostream &OS) const; - void print(std::ostream *OS) const { if (OS) print(*OS); } + void print(std::ostream &OS, + const PrefixPrinter &prefix = PrefixPrinter()) const; + void print(std::ostream *OS, + const PrefixPrinter &prefix = PrefixPrinter()) const { + if (OS) print(*OS, prefix); + } /// viewCFG - This function is meant for use from the debugger. You can just /// say 'call F->viewCFG()' and a ghostview window should pop up from the diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp index 71e6b3e4d0..82ff769c1d 100644 --- a/lib/CodeGen/MachineBasicBlock.cpp +++ b/lib/CodeGen/MachineBasicBlock.cpp @@ -148,7 +148,8 @@ static inline void OutputReg(std::ostream &os, unsigned RegNo, os << " %reg" << RegNo; } -void MachineBasicBlock::print(std::ostream &OS) const { +void MachineBasicBlock::print(std::ostream &OS, + const PrefixPrinter &prefix) const { const MachineFunction *MF = getParent(); if(!MF) { OS << "Can't print out MachineBasicBlock because parent MachineFunction" @@ -181,6 +182,7 @@ void MachineBasicBlock::print(std::ostream &OS) const { } for (const_iterator I = begin(); I != end(); ++I) { + OS << prefix(*I); OS << "\t"; I->print(OS, &getParent()->getTarget()); } diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 599efb8bd2..324e3a5b92 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -252,7 +252,8 @@ void MachineFunction::dump() const { print(*cerr.stream()); } -void MachineFunction::print(std::ostream &OS) const { +void MachineFunction::print(std::ostream &OS, + const PrefixPrinter &prefix) const { OS << "# Machine code for " << Fn->getName () << "():\n"; // Print Frame Information @@ -294,8 +295,10 @@ void MachineFunction::print(std::ostream &OS) const { OS << "\n"; } - for (const_iterator BB = begin(); BB != end(); ++BB) - BB->print(OS); + for (const_iterator BB = begin(); BB != end(); ++BB) { + OS << prefix(*BB); + BB->print(OS, prefix); + } OS << "\n# End machine code for " << Fn->getName () << "().\n\n"; } |