28 "This is not a subregister index");
31 const uint16_t *SRI = SubRegIndices +
get(
Reg).SubRegIndices;
39 assert(SubReg && SubReg <
getNumRegs() &&
"This is not a register");
42 const uint16_t *SRI = SubRegIndices +
get(
Reg).SubRegIndices;
51 "This is not a subregister index");
52 return SubRegIdxRanges[Idx].
Size;
57 "This is not a subregister index");
58 return SubRegIdxRanges[Idx].
Offset;
63 unsigned Size = isEH ? EHL2DwarfRegsSize : L2DwarfRegsSize;
67 if (I == M+Size || I->
FromReg != RegNum)
74 unsigned Size = isEH ? EHDwarf2LRegsSize : Dwarf2LRegsSize;
78 assert(I != M+Size && I->
FromReg == RegNum &&
"Invalid RegNum");
84 if (I == L2SEHRegs.
end())
return (
int)RegNum;
int getDwarfRegNum(unsigned RegNum, bool isEH) const
Map a target register to an equivalent dwarf register number. Returns -1 if there is no equivalent va...
bool isValid() const
isValid - returns true if this iterator is not yet at the end.
unsigned getSubRegIndex(unsigned RegNo, unsigned SubRegNo) const
For a given register pair, return the sub-register index if the second register is a sub-register of ...
int getSEHRegNum(unsigned RegNum) const
Map a target register to an equivalent SEH register number. Returns LLVM register number if there is ...
unsigned getNumRegs() const
Return the number of registers this target has (useful for sizing arrays holding per register informa...
unsigned getNumSubRegIndices() const
Return the number of sub-register indices understood by the target. Index 0 is reserved for the no-op...
MCRegisterClass - Base class of TargetRegisterClass.
unsigned getSubReg(unsigned Reg, unsigned Idx) const
Returns the physical register number of sub-register "Index" for physical register RegNo...
int getLLVMRegNum(unsigned RegNum, bool isEH) const
Map a dwarf register back to a target register.
unsigned getMatchingSuperReg(unsigned Reg, unsigned SubIdx, const MCRegisterClass *RC) const
Return a super-register of the specified register Reg so its sub-register of index SubIdx is Reg...
bool contains(unsigned Reg) const
unsigned getSubRegIdxOffset(unsigned Idx) const
Get the offset of the bit range covered by a sub-register index. If an Offset doesn't make sense (the...
unsigned getSubRegIdxSize(unsigned Idx) const
Get the size of the bit range covered by a sub-register index. If the index isn't continuous...
iterator find(const KeyT &Val)