[llvm-commits] [llvm] r121780 - in /llvm/trunk: include/llvm/Target/TargetRegisterInfo.h lib/Target/TargetRegisterInfo.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Dec 14 10:53:39 PST 2010
Author: stoklund
Date: Tue Dec 14 12:53:39 2010
New Revision: 121780
URL: http://llvm.org/viewvc/llvm-project?rev=121780&view=rev
Log:
Add TargetRegisterInfo::printReg() to pretty-print registers.
Modified:
llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
llvm/trunk/lib/Target/TargetRegisterInfo.cpp
Modified: llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegisterInfo.h?rev=121780&r1=121779&r2=121780&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetRegisterInfo.h (original)
+++ llvm/trunk/include/llvm/Target/TargetRegisterInfo.h Tue Dec 14 12:53:39 2010
@@ -29,6 +29,7 @@
class MachineMove;
class RegScavenger;
template<class T> class SmallVectorImpl;
+class raw_ostream;
/// TargetRegisterDesc - This record contains all of the information known about
/// a particular register. The AliasSet field (if not null) contains a pointer
@@ -321,6 +322,9 @@
return Reg >= FirstVirtualRegister;
}
+ /// printReg - Print a virtual or physical register on OS.
+ void printReg(unsigned Reg, raw_ostream &OS) const;
+
/// getMinimalPhysRegClass - Returns the Register Class of a physical
/// register of the given type, picking the most sub register class of
/// the right type that contains this physreg.
Modified: llvm/trunk/lib/Target/TargetRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetRegisterInfo.cpp?rev=121780&r1=121779&r2=121780&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/TargetRegisterInfo.cpp Tue Dec 14 12:53:39 2010
@@ -17,6 +17,7 @@
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/ADT/BitVector.h"
+#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@@ -39,6 +40,13 @@
TargetRegisterInfo::~TargetRegisterInfo() {}
+void TargetRegisterInfo::printReg(unsigned Reg, raw_ostream &OS) const {
+ if (Reg && isVirtualRegister(Reg))
+ OS << "%reg" << Reg;
+ else
+ OS << '%' << getName(Reg);
+}
+
/// getMinimalPhysRegClass - Returns the Register Class of a physical
/// register of the given type, picking the most sub register class of
/// the right type that contains this physreg.
More information about the llvm-commits
mailing list