summaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveInterval.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-05-14 05:34:15 +0000
committerChris Lattner <sabre@nondot.org>2005-05-14 05:34:15 +0000
commit38135af219c48a8626d6af34a92e7e8bb957c81f (patch)
tree3abc90b90f8cb8654fcb59ab57ec12745fb38f79 /lib/CodeGen/LiveInterval.cpp
parenta88a260dbd874a3bdd3e47f4f15ab0d7c7803044 (diff)
downloadllvm-38135af219c48a8626d6af34a92e7e8bb957c81f.tar.gz
llvm-38135af219c48a8626d6af34a92e7e8bb957c81f.tar.bz2
llvm-38135af219c48a8626d6af34a92e7e8bb957c81f.tar.xz
Print the symbolic register name in a register allocator debug dump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveInterval.cpp')
-rw-r--r--lib/CodeGen/LiveInterval.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp
index ffa4caab06..01298e9c6c 100644
--- a/lib/CodeGen/LiveInterval.cpp
+++ b/lib/CodeGen/LiveInterval.cpp
@@ -20,6 +20,7 @@
#include "LiveInterval.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/Target/MRegisterInfo.h"
#include <algorithm>
#include <iostream>
#include <map>
@@ -351,17 +352,22 @@ void LiveRange::dump() const {
std::cerr << *this << "\n";
}
-
-std::ostream& llvm::operator<<(std::ostream& os, const LiveInterval& li) {
- os << "%reg" << li.reg << ',' << li.weight;
- if (li.empty())
- return os << "EMPTY";
-
- os << " = ";
- for (LiveInterval::Ranges::const_iterator i = li.ranges.begin(),
- e = li.ranges.end(); i != e; ++i)
- os << *i;
- return os;
+void LiveInterval::print(std::ostream &OS, const MRegisterInfo *MRI) const {
+ if (MRI && MRegisterInfo::isPhysicalRegister(reg))
+ OS << MRI->getName(reg);
+ else
+ OS << "%reg" << reg;
+
+ OS << ',' << weight;
+
+ if (empty())
+ OS << "EMPTY";
+ else {
+ OS << " = ";
+ for (LiveInterval::Ranges::const_iterator I = ranges.begin(),
+ E = ranges.end(); I != E; ++I)
+ OS << *I;
+ }
}
void LiveInterval::dump() const {