aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-02-13 02:45:38 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-02-13 02:45:38 +0000
commit1eb5cf9c7d0b0b04402eddc007b0de414488baf4 (patch)
tree94f1c85489d9d7de41d803ed1f64682430a1dc2f
parentfd29e0eb060ea8b4d490860329234d2ae5f5952e (diff)
Added debugging routine dumpUses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47042 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/MachineRegisterInfo.h16
-rw-r--r--lib/CodeGen/MachineRegisterInfo.cpp8
2 files changed, 18 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/MachineRegisterInfo.h b/include/llvm/CodeGen/MachineRegisterInfo.h
index 5b84922b55..453fe2c834 100644
--- a/include/llvm/CodeGen/MachineRegisterInfo.h
+++ b/include/llvm/CodeGen/MachineRegisterInfo.h
@@ -110,13 +110,22 @@ public:
RegNo -= TargetRegisterInfo::FirstVirtualRegister;
return VRegInfo[RegNo].second;
}
+
+ /// getVRegDef - Return the machine instr that defines the specified virtual
+ /// register or null if none is found. This assumes that the code is in SSA
+ /// form, so there should only be one definition.
+ MachineInstr *getVRegDef(unsigned Reg) const;
+
+#ifndef NDEBUG
+ void dumpUses(unsigned RegNo) const;
+#endif
//===--------------------------------------------------------------------===//
// Virtual Register Info
//===--------------------------------------------------------------------===//
/// getRegClass - Return the register class of the specified virtual register.
- const TargetRegisterClass *getRegClass(unsigned Reg) {
+ const TargetRegisterClass *getRegClass(unsigned Reg) const {
Reg -= TargetRegisterInfo::FirstVirtualRegister;
assert(Reg < VRegInfo.size() && "Invalid vreg!");
return VRegInfo[Reg].first;
@@ -145,11 +154,6 @@ public:
return VRegInfo.size()+TargetRegisterInfo::FirstVirtualRegister-1;
}
- /// getVRegDef - Return the machine instr that defines the specified virtual
- /// register or null if none is found. This assumes that the code is in SSA
- /// form, so there should only be one definition.
- MachineInstr *getVRegDef(unsigned Reg) const;
-
//===--------------------------------------------------------------------===//
// Physical Register Use Info
diff --git a/lib/CodeGen/MachineRegisterInfo.cpp b/lib/CodeGen/MachineRegisterInfo.cpp
index 62c9506050..b3ee0358bb 100644
--- a/lib/CodeGen/MachineRegisterInfo.cpp
+++ b/lib/CodeGen/MachineRegisterInfo.cpp
@@ -73,3 +73,11 @@ MachineInstr *MachineRegisterInfo::getVRegDef(unsigned Reg) const {
}
return 0;
}
+
+
+#ifndef NDEBUG
+void MachineRegisterInfo::dumpUses(unsigned Reg) const {
+ for (use_iterator I = use_begin(Reg), E = use_end(); I != E; ++I)
+ I.getOperand().getParent()->dump();
+}
+#endif