mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +00:00
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
This commit is contained in:
parent
20574a913e
commit
4b938958bc
@ -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
|
||||
|
@ -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
|
||||
|
@ -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());
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user