llvm::SuperRegClassIterator

Iterate over possible super-register classes for a register class.

Synopsis

Declared in <llvm/CodeGen/TargetRegisterInfo.h>

class SuperRegClassIterator;

Description

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.

Member Functions

NameDescription
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.