diff options
author | Chris Lattner <sabre@nondot.org> | 2005-05-14 05:34:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-05-14 05:34:15 +0000 |
commit | 38135af219c48a8626d6af34a92e7e8bb957c81f (patch) | |
tree | 3abc90b90f8cb8654fcb59ab57ec12745fb38f79 /lib/CodeGen/LiveInterval.cpp | |
parent | a88a260dbd874a3bdd3e47f4f15ab0d7c7803044 (diff) | |
download | llvm-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.cpp | 28 |
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 { |