diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-09-11 16:34:02 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-09-11 16:34:02 +0000 |
commit | 59f45e4610e64b88bcee4cd46816ef64e815ff7e (patch) | |
tree | 7b89541a61cd1dc18f495ac270c8ba87d598b448 /lib/MC | |
parent | ef68cfa8b87f39a25718ae3b3378e9148a107c8f (diff) | |
download | external_llvm-59f45e4610e64b88bcee4cd46816ef64e815ff7e.zip external_llvm-59f45e4610e64b88bcee4cd46816ef64e815ff7e.tar.gz external_llvm-59f45e4610e64b88bcee4cd46816ef64e815ff7e.tar.bz2 |
Add MCRI::getNumSubRegIndices() and start checking SubRegIndex ranges.
Apparently, NumSubRegIndices was completely unused before. Adjust it by
one to include the null subreg index, just like getNumRegs() includes
the null register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163628 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/MCRegisterInfo.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/MC/MCRegisterInfo.cpp b/lib/MC/MCRegisterInfo.cpp index 4d1aff3..5c71106 100644 --- a/lib/MC/MCRegisterInfo.cpp +++ b/lib/MC/MCRegisterInfo.cpp @@ -24,6 +24,8 @@ unsigned MCRegisterInfo::getMatchingSuperReg(unsigned Reg, unsigned SubIdx, } unsigned MCRegisterInfo::getSubReg(unsigned Reg, unsigned Idx) const { + assert(Idx && Idx < getNumSubRegIndices() && + "This is not a subregister index"); // Get a pointer to the corresponding SubRegIndices list. This list has the // name of each sub-register in the same order as MCSubRegIterator. const uint16_t *SRI = SubRegIndices + get(Reg).SubRegIndices; @@ -34,6 +36,7 @@ unsigned MCRegisterInfo::getSubReg(unsigned Reg, unsigned Idx) const { } unsigned MCRegisterInfo::getSubRegIndex(unsigned Reg, unsigned SubReg) const { + assert(SubReg && SubReg < getNumRegs() && "This is not a register"); // Get a pointer to the corresponding SubRegIndices list. This list has the // name of each sub-register in the same order as MCSubRegIterator. const uint16_t *SRI = SubRegIndices + get(Reg).SubRegIndices; |