Iterate over possible super-register classes for a register class.
Declared in <llvm/CodeGen/TargetRegisterInfo.h>
class SuperRegClassIterator;
The iterator visits a list of pairs (Idx, Mask) corresponding to the possible classes of super-registers.
Each bit mask will have at least one set bit, and each set bit in Mask corresponds to a SuperRC such that:
For all Reg in SuperRC: Reg:Idx is in RC.
The iterator can include (0, RC->getSubClassMask()) as the first entry which also satisfies the above requirement, assuming Reg:0 == Reg.
| Name | Description |
|---|---|
SuperRegClassIterator [constructor] | Create a SuperRegClassIterator that visits all the super-register classes of RC. When IncludeSelf is set, also include the (0, sub-classes) entry. |
getMask | Returns the bit mask of register classes that getSubReg() projects into RC. See TargetRegisterClass::getSubClassMask() for how to use it. |
getSubReg | Returns the current sub-register index. |
isValid | Returns true if this iterator is still pointing at a valid entry. |
operator++ | Advance iterator to the next entry. |