diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-11-04 14:58:56 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-11-04 14:58:56 +0000 | 
| commit | 36bf506ad3c99a309ca8bd73bd03563d8d068ac0 (patch) | |
| tree | b4dc751bcee540346911aa4115729eff2f991657 /lib/CodeGen/MachineBasicBlock.cpp | |
| parent | f9666f9b3a3d26810deae8cd54feb6e47ecee61a (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/MachineBasicBlock.cpp')
| -rw-r--r-- | lib/CodeGen/MachineBasicBlock.cpp | 33 | 
1 files changed, 20 insertions, 13 deletions
| diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp index b3eb2da76281..7fbdb128fd40 100644 --- a/lib/CodeGen/MachineBasicBlock.cpp +++ b/lib/CodeGen/MachineBasicBlock.cpp @@ -20,11 +20,13 @@  #include "llvm/Target/TargetMachine.h"  #include "llvm/Support/LeakDetector.h"  #include "llvm/Support/raw_ostream.h" +#include "llvm/Assembly/Writer.h"  #include <algorithm>  using namespace llvm;  MachineBasicBlock::MachineBasicBlock(MachineFunction &mf, const BasicBlock *bb) -  : BB(bb), Number(-1), xParent(&mf), Alignment(0), IsLandingPad(false) { +  : BB(bb), Number(-1), xParent(&mf), Alignment(0), IsLandingPad(false), +    AddressTaken(false) {    Insts.Parent = this;  } @@ -160,11 +162,11 @@ void MachineBasicBlock::dump() const {  static inline void OutputReg(raw_ostream &os, unsigned RegNo,                               const TargetRegisterInfo *TRI = 0) { -  if (!RegNo || TargetRegisterInfo::isPhysicalRegister(RegNo)) { +  if (RegNo != 0 && TargetRegisterInfo::isPhysicalRegister(RegNo)) {      if (TRI)        os << " %" << TRI->get(RegNo).Name;      else -      os << " %mreg(" << RegNo << ")"; +      os << " %physreg" << RegNo;    } else      os << " %reg" << RegNo;  } @@ -177,18 +179,23 @@ void MachineBasicBlock::print(raw_ostream &OS) const {      return;    } -  const BasicBlock *LBB = getBasicBlock(); +  if (Alignment) { OS << "Alignment " << Alignment << "\n"; } + +  OS << "BB#" << getNumber() << ": "; + +  const char *Comma = ""; +  if (const BasicBlock *LBB = getBasicBlock()) { +    OS << Comma << "derived from LLVM BB "; +    WriteAsOperand(OS, LBB, /*PrintType=*/false); +    Comma = ", "; +  } +  if (isLandingPad()) { OS << Comma << "EH LANDING PAD"; Comma = ", "; } +  if (hasAddressTaken()) { OS << Comma << "ADDRESS TAKEN"; Comma = ", "; }    OS << '\n'; -  if (LBB) OS << LBB->getName() << ": "; -  OS << (const void*)this -     << ", LLVM BB @" << (const void*) LBB << ", ID#" << getNumber(); -  if (Alignment) OS << ", Alignment " << Alignment; -  if (isLandingPad()) OS << ", EH LANDING PAD"; -  OS << ":\n";    const TargetRegisterInfo *TRI = MF->getTarget().getRegisterInfo();      if (!livein_empty()) { -    OS << "Live Ins:"; +    OS << "    Live Ins:";      for (const_livein_iterator I = livein_begin(),E = livein_end(); I != E; ++I)        OutputReg(OS, *I, TRI);      OS << '\n'; @@ -197,7 +204,7 @@ void MachineBasicBlock::print(raw_ostream &OS) const {    if (!pred_empty()) {      OS << "    Predecessors according to CFG:";      for (const_pred_iterator PI = pred_begin(), E = pred_end(); PI != E; ++PI) -      OS << ' ' << *PI << " (#" << (*PI)->getNumber() << ')'; +      OS << " BB#" << (*PI)->getNumber();      OS << '\n';    } @@ -210,7 +217,7 @@ void MachineBasicBlock::print(raw_ostream &OS) const {    if (!succ_empty()) {      OS << "    Successors according to CFG:";      for (const_succ_iterator SI = succ_begin(), E = succ_end(); SI != E; ++SI) -      OS << ' ' << *SI << " (#" << (*SI)->getNumber() << ')'; +      OS << " BB#" << (*SI)->getNumber();      OS << '\n';    }  } | 
