diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-30 16:36:28 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-30 16:36:28 +0000 |
commit | cd00ef033cf944fc96a0d06ffcf49cd805fc4ee3 (patch) | |
tree | 0b2b4bab850900a04cdac7aedc35c3e91af40caf /include/llvm/Target/TargetRegisterInfo.h | |
parent | 1afbd278d10a24803491015a5f50508f3ab422e7 (diff) | |
download | llvm-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.h | 8 |
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; } |