Changes in directory llvm/lib/CodeGen:
MachineBasicBlock.cpp updated: 1.38 -> 1.39 --- Log message: Add live-ins to MachineBasicBlock. --- Diffs of the changes: (+22 -1) MachineBasicBlock.cpp | 23 ++++++++++++++++++++++- 1 files changed, 22 insertions(+), 1 deletion(-) Index: llvm/lib/CodeGen/MachineBasicBlock.cpp diff -u llvm/lib/CodeGen/MachineBasicBlock.cpp:1.38 llvm/lib/CodeGen/MachineBasicBlock.cpp:1.39 --- llvm/lib/CodeGen/MachineBasicBlock.cpp:1.38 Fri Dec 15 20:15:42 2006 +++ llvm/lib/CodeGen/MachineBasicBlock.cpp Fri Feb 9 20:38:19 2007 @@ -15,6 +15,7 @@ #include "llvm/BasicBlock.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineInstr.h" +#include "llvm/Target/MRegisterInfo.h" #include "llvm/Target/TargetData.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetMachine.h" @@ -89,8 +90,20 @@ print(*cerr.stream()); } +static inline void OutputReg(std::ostream &os, unsigned RegNo, + const MRegisterInfo *MRI = 0) { + if (!RegNo || MRegisterInfo::isPhysicalRegister(RegNo)) { + if (MRI) + os << " %" << MRI->get(RegNo).Name; + else + os << " %mreg(" << RegNo << ")"; + } else + os << " %reg" << RegNo; +} + void MachineBasicBlock::print(std::ostream &OS) const { - if(!getParent()) { + const MachineFunction *MF = getParent(); + if(!MF) { OS << "Can't print out MachineBasicBlock because parent MachineFunction" << " is null\n"; return; @@ -101,6 +114,14 @@ if (LBB) OS << LBB->getName(); OS << " (" << (const void*)this << ", LLVM BB @" << (const void*) LBB << ", ID#" << getNumber()<< "):\n"; + + const MRegisterInfo *MRI = MF->getTarget().getRegisterInfo(); + if (livein_begin() != livein_end()) { + OS << "Live Ins:"; + for (livein_iterator I = livein_begin(), E = livein_end(); I != E; ++I) + OutputReg(OS, *I, MRI); + OS << "\n"; + } // Print the preds of this block according to the CFG. if (!pred_empty()) { OS << " Predecessors according to CFG:"; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits