summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-01-08 23:11:07 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-01-08 23:11:07 +0000
commitcf4d5ced0ffb70883d39643a0bdcd6931d84dd03 (patch)
tree58cccc98ff06a42a5750695132b8f3fcea1219f2 /llvm/include
parent6ff70ad356a1474176f8e39b5a93acb4ebfdc5c4 (diff)
downloadbcm5719-llvm-cf4d5ced0ffb70883d39643a0bdcd6931d84dd03.tar.gz
bcm5719-llvm-cf4d5ced0ffb70883d39643a0bdcd6931d84dd03.zip
Fix VirtRegMap to use TRI::index2VirtReg and TRI::virtReg2Index instead of
depending on TRI::FirstVirtualRegister. Also use TRI::printReg instead of printing virtual registers directly. llvm-svn: 123101
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Target/TargetRegisterInfo.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/include/llvm/Target/TargetRegisterInfo.h b/llvm/include/llvm/Target/TargetRegisterInfo.h
index d26c67b4d31..2a3b8b6184e 100644
--- a/llvm/include/llvm/Target/TargetRegisterInfo.h
+++ b/llvm/include/llvm/Target/TargetRegisterInfo.h
@@ -321,6 +321,12 @@ public:
return Reg >= FirstVirtualRegister;
}
+ /// virtReg2Index - Convert a virtual register number to a 0-based index.
+ /// The first virtual register in a function will get the index 0.
+ static unsigned virtReg2Index(unsigned Reg) {
+ return Reg - FirstVirtualRegister;
+ }
+
/// index2VirtReg - Convert a 0-based index to a virtual register number.
/// This is the inverse operation of VirtReg2IndexFunctor below.
static unsigned index2VirtReg(unsigned Index) {
@@ -743,7 +749,7 @@ public:
// This is useful when building IndexedMaps keyed on virtual registers
struct VirtReg2IndexFunctor : public std::unary_function<unsigned, unsigned> {
unsigned operator()(unsigned Reg) const {
- return Reg - TargetRegisterInfo::FirstVirtualRegister;
+ return TargetRegisterInfo::virtReg2Index(Reg);
}
};
OpenPOWER on IntegriCloud