diff options
author | Andrew Trick <atrick@apple.com> | 2013-08-23 17:48:53 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-08-23 17:48:53 +0000 |
commit | 475a9911ca98a822e74ce1546b8aac5df6308bca (patch) | |
tree | 4fd7917e465453322c04a0a9050eb7f23e49a1df /llvm/include | |
parent | e4c1ba762d49969c3cf858879da8ee44e86384f3 (diff) | |
download | bcm5719-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.h | 16 |
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 |