summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-08-23 17:48:53 +0000
committerAndrew Trick <atrick@apple.com>2013-08-23 17:48:53 +0000
commit475a9911ca98a822e74ce1546b8aac5df6308bca (patch)
tree4fd7917e465453322c04a0a9050eb7f23e49a1df /llvm/include
parente4c1ba762d49969c3cf858879da8ee44e86384f3 (diff)
downloadbcm5719-llvm-475a9911ca98a822e74ce1546b8aac5df6308bca.tar.gz
bcm5719-llvm-475a9911ca98a822e74ce1546b8aac5df6308bca.zip
PrintVRegOrUnit
llvm-svn: 189124
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Target/TargetRegisterInfo.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetRegisterInfo.h b/llvm/include/llvm/Target/TargetRegisterInfo.h
index 82fccde8de8..958bea6f2b9 100644
--- a/llvm/include/llvm/Target/TargetRegisterInfo.h
+++ b/llvm/include/llvm/Target/TargetRegisterInfo.h
@@ -901,6 +901,7 @@ static inline raw_ostream &operator<<(raw_ostream &OS, const PrintReg &PR) {
/// Usage: OS << PrintRegUnit(Unit, TRI) << '\n';
///
class PrintRegUnit {
+protected:
const TargetRegisterInfo *TRI;
unsigned Unit;
public:
@@ -914,6 +915,21 @@ static inline raw_ostream &operator<<(raw_ostream &OS, const PrintRegUnit &PR) {
return OS;
}
+/// PrintVRegOrUnit - It is often convenient to track virtual registers and
+/// physical register units in the same list.
+class PrintVRegOrUnit : protected PrintRegUnit {
+public:
+ PrintVRegOrUnit(unsigned VRegOrUnit, const TargetRegisterInfo *tri)
+ : PrintRegUnit(VRegOrUnit, tri) {}
+ void print(raw_ostream&) const;
+};
+
+static inline raw_ostream &operator<<(raw_ostream &OS,
+ const PrintVRegOrUnit &PR) {
+ PR.print(OS);
+ return OS;
+}
+
} // End llvm namespace
#endif
OpenPOWER on IntegriCloud