|
LLVM
3.7.0
|
DiffListIterator - Base iterator class that can traverse the differentially encoded register and regunit lists in DiffLists. More...
#include <MCRegisterInfo.h>
Public Member Functions | |
| bool | isValid () const |
| isValid - returns true if this iterator is not yet at the end. More... | |
| unsigned | operator* () const |
| Dereference the iterator to get the value at the current position. More... | |
| void | operator++ () |
| Pre-increment to move to the next position. More... | |
Protected Member Functions | |
| DiffListIterator () | |
| Create an invalid iterator. Call init() to point to something useful. More... | |
| void | init (MCPhysReg InitVal, const MCPhysReg *DiffList) |
| init - Point the iterator to InitVal, decoding subsequent values from DiffList. More... | |
| unsigned | advance () |
| advance - Move to the next list position, return the applied differential. More... | |
DiffListIterator - Base iterator class that can traverse the differentially encoded register and regunit lists in DiffLists.
Don't use this class directly, use one of the specialized sub-classes defined below.
Definition at line 191 of file MCRegisterInfo.h.
|
inlineprotected |
Create an invalid iterator. Call init() to point to something useful.
Definition at line 197 of file MCRegisterInfo.h.
|
inlineprotected |
advance - Move to the next list position, return the applied differential.
This function does not detect the end of the list, that is the caller's responsibility (by checking for a 0 return value).
Definition at line 210 of file MCRegisterInfo.h.
References isValid().
Referenced by llvm::MCRegUnitIterator::MCRegUnitIterator(), and operator++().
|
inlineprotected |
init - Point the iterator to InitVal, decoding subsequent values from DiffList.
The iterator will initially point to InitVal, sub-classes are responsible for skipping the seed value if it is not part of the list.
Definition at line 202 of file MCRegisterInfo.h.
Referenced by llvm::MCRegUnitIterator::MCRegUnitIterator(), llvm::MCSubRegIterator::MCSubRegIterator(), and llvm::MCSuperRegIterator::MCSuperRegIterator().
|
inline |
isValid - returns true if this iterator is not yet at the end.
Definition at line 220 of file MCRegisterInfo.h.
Referenced by llvm::LiveIntervals::addKillFlags(), llvm::DwarfExpression::AddMachineRegPiece(), llvm::LivePhysRegs::addReg(), advance(), llvm::MCRegAliasIterator::advance(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::LiveRegMatrix::checkInterference(), llvm::finalizeBundle(), findHoistingInsertPosAndDeps(), llvm::ScheduleDAGInstrs::fixupKills(), foreachUnit(), llvm::RegScavenger::forward(), getDwarfRegNum(), llvm::MCRegisterInfo::getMatchingSuperReg(), getPairedGPR(), llvm::MCRegisterInfo::getSubReg(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::TargetRegisterInfo::hasRegUnit(), INITIALIZE_PASS(), isAnySubRegLive(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::RegScavenger::isRegUsed(), llvm::MCSubRegIndexIterator::isValid(), llvm::MCRegUnitMaskIterator::isValid(), llvm::MCRegAliasIterator::isValid(), llvm::MCRegAliasIterator::MCRegAliasIterator(), llvm::MCRegAliasIterator::operator*(), llvm::ARMAsmPrinter::PrintAsmOperand(), llvm::TargetRegisterInfo::regsOverlap(), llvm::LiveIntervals::removePhysRegDefAt(), llvm::LivePhysRegs::removeReg(), llvm::MachineRegisterInfo::setPhysRegUnused(), llvm::MipsRegInfoRecord::SetPhysRegUsed(), llvm::MachineRegisterInfo::setPhysRegUsed(), llvm::RegScavenger::setRegUsed(), llvm::ScheduleDAGInstrs::startBlockForKills(), llvm::ScheduleDAGInstrs::toggleKillFlag(), TrackDefUses(), llvm::LiveIntervals::HMEditor::updateAllRanges(), updatePhysDepsDownwards(), and updatePhysDepsUpwards().
|
inline |
Dereference the iterator to get the value at the current position.
Definition at line 223 of file MCRegisterInfo.h.
|
inline |
Pre-increment to move to the next position.
Definition at line 226 of file MCRegisterInfo.h.
References advance().
1.8.6