summaryrefslogtreecommitdiff
path: root/include/llvm/Target/TargetRegisterInfo.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-30 16:36:28 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-30 16:36:28 +0000
commitcd00ef033cf944fc96a0d06ffcf49cd805fc4ee3 (patch)
tree0b2b4bab850900a04cdac7aedc35c3e91af40caf /include/llvm/Target/TargetRegisterInfo.h
parent1afbd278d10a24803491015a5f50508f3ab422e7 (diff)
downloadllvm-cd00ef033cf944fc96a0d06ffcf49cd805fc4ee3.tar.gz
llvm-cd00ef033cf944fc96a0d06ffcf49cd805fc4ee3.tar.bz2
llvm-cd00ef033cf944fc96a0d06ffcf49cd805fc4ee3.tar.xz
Add MCRegisterInfo::RegListIterator.
Also add subclasses MCSubRegIterator, MCSuperRegIterator, and MCRegAliasIterator. These iterators provide an abstract interface to the MCRegisterInfo register lists so the internal representation can be changed without changing all clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetRegisterInfo.h')
-rw-r--r--include/llvm/Target/TargetRegisterInfo.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h
index 949fce8461..b792889db8 100644
--- a/include/llvm/Target/TargetRegisterInfo.h
+++ b/include/llvm/Target/TargetRegisterInfo.h
@@ -357,10 +357,10 @@ public:
/// isSuperRegister - Returns true if regB is a super-register of regA.
///
- bool isSuperRegister(unsigned regA, unsigned regB) const {
- for (const uint16_t *regList = getSuperRegisters(regA); *regList;++regList){
- if (*regList == regB) return true;
- }
+ bool isSuperRegister(unsigned RegA, unsigned RegB) const {
+ for (MCSuperRegIterator I(RegA, this); I.isValid(); ++I)
+ if (*I == RegB)
+ return true;
return false;
}