LLVM
8.0.1
|
DiffListIterator - Base iterator class that can traverse the differentially encoded register and regunit lists in DiffLists. More...
#include "llvm/MC/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 ()=default | |
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 187 of file MCRegisterInfo.h.
|
protecteddefault |
Create an invalid iterator. Call init() to point to something useful.
|
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 206 of file MCRegisterInfo.h.
|
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 198 of file MCRegisterInfo.h.
|
inline |
isValid - returns true if this iterator is not yet at the end.
Definition at line 215 of file MCRegisterInfo.h.
References List.
Referenced by addEpilogOnlyR10(), llvm::addLiveIns(), llvm::DwarfExpression::addMachineReg(), llvm::LivePhysRegs::addReg(), addRegUnits(), llvm::MCRegAliasIterator::advance(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::TargetRegisterInfo::checkAllSuperRegsMarked(), computeLiveOuts(), llvm::createGreedyRegisterAllocator(), llvm::createRegUsageInfoCollector(), llvm::createSIWholeQuadModePass(), CriticalPathStep(), llvm::RegScavenger::enterBasicBlockEnd(), llvm::HexagonBlockRanges::expandToSubRegs(), llvm::finalizeBundle(), findHoistingInsertPosAndDeps(), llvm::SIRegisterInfo::findReachingDef(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foreachUnit(), llvm::RegScavenger::forward(), getDwarfRegNum(), getLiveLanesAt(), llvm::MCRegisterInfo::getMatchingSuperReg(), getMax32BitSubRegister(), getMOVL(), getNumAllocatableRegsForConstraints(), llvm::HexagonInstrInfo::getOperandLatency(), getPairedGPR(), llvm::MachineFrameInfo::getPristineRegs(), llvm::MCRegisterInfo::getSubReg(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::LiveVariables::HandleVirtRegDef(), hasPressureSet(), llvm::TargetRegisterInfo::hasRegUnit(), hasTiedDef(), llvm::InterferenceCache::init(), INITIALIZE_PASS(), isACalleeSavedRegister(), llvm::HexagonInstrInfo::isDependent(), isMinSize(), llvm::MachineRegisterInfo::isReservedRegUnit(), llvm::MCSubRegIndexIterator::isValid(), llvm::MCRegUnitMaskIterator::isValid(), llvm::MCRegAliasIterator::isValid(), lowerRegToMasks(), llvm::rdf::RegisterAggr::makeRegRef(), llvm::TargetRegisterInfo::markSuperRegs(), matchPair(), llvm::MCRegAliasIterator::MCRegAliasIterator(), needsStackFrame(), llvm::AggressiveAntiDepBreaker::Observe(), llvm::MCRegAliasIterator::operator*(), optimizeVcndVcmpPair(), llvm::rdf::PhysicalRegisterInfo::PhysicalRegisterInfo(), llvm::LiveIntervals::print(), llvm::ARMAsmPrinter::PrintAsmOperand(), llvm::TargetRegisterInfo::regsOverlap(), llvm::rdf::Liveness::resetKills(), llvm::MipsRegInfoRecord::SetPhysRegUsed(), TrackDefUses(), llvm::LiveIntervals::HMEditor::updateAllRanges(), updateLiveIn(), updatePhysDepsDownwards(), updatePhysDepsUpwards(), and UpdatePredRedefs().
|
inline |
Dereference the iterator to get the value at the current position.
Definition at line 218 of file MCRegisterInfo.h.
|
inline |
Pre-increment to move to the next position.
Definition at line 221 of file MCRegisterInfo.h.