LLVM API Documentation

Public Member Functions | Protected Member Functions
llvm::MCRegisterInfo::DiffListIterator Class Reference

#include <MCRegisterInfo.h>

Inheritance diagram for llvm::MCRegisterInfo::DiffListIterator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

bool isValid () const
 isValid - returns true if this iterator is not yet at the end.
unsigned operator* () const
 Dereference the iterator to get the value at the current position.
void operator++ ()
 Pre-increment to move to the next position.

Protected Member Functions

 DiffListIterator ()
 Create an invalid iterator. Call init() to point to something useful.
void init (MCPhysReg InitVal, const MCPhysReg *DiffList)
unsigned advance ()

Detailed Description

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 188 of file MCRegisterInfo.h.


Constructor & Destructor Documentation

Create an invalid iterator. Call init() to point to something useful.

Definition at line 194 of file MCRegisterInfo.h.


Member Function Documentation

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 207 of file MCRegisterInfo.h.

References isValid().

Referenced by llvm::MCRegUnitIterator::MCRegUnitIterator(), and operator++().

void llvm::MCRegisterInfo::DiffListIterator::init ( MCPhysReg  InitVal,
const MCPhysReg DiffList 
) [inline, protected]

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 199 of file MCRegisterInfo.h.

Referenced by llvm::MCRegUnitIterator::MCRegUnitIterator(), llvm::MCSubRegIterator::MCSubRegIterator(), and llvm::MCSuperRegIterator::MCSuperRegIterator().

isValid - returns true if this iterator is not yet at the end.

Definition at line 217 of file MCRegisterInfo.h.

Referenced by llvm::LiveIntervals::addKillFlags(), llvm::LivePhysRegs::addReg(), llvm::DwarfUnit::addRegisterOpPiece(), advance(), llvm::MCRegAliasIterator::advance(), llvm::LiveRegMatrix::assign(), llvm::PBQPBuilder::build(), llvm::LiveRegMatrix::checkInterference(), llvm::LiveRegMatrix::checkRegUnitInterference(), llvm::AsmPrinter::EmitDwarfRegOpPiece(), findHoistingInsertPosAndDeps(), llvm::ScheduleDAGInstrs::fixupKills(), llvm::RegScavenger::forward(), getDwarfRegNum(), llvm::MCRegisterInfo::getMatchingSuperReg(), getPairedGPR(), llvm::ARMBaseRegisterInfo::getReservedRegs(), llvm::MCRegisterInfo::getSubReg(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::TargetRegisterInfo::hasRegUnit(), INITIALIZE_PASS(), isAnySubRegLive(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::RegScavenger::isRegUsed(), llvm::MCRegAliasIterator::isValid(), llvm::MCRegAliasIterator::MCRegAliasIterator(), llvm::MCRegAliasIterator::operator*(), llvm::ARMAsmPrinter::PrintAsmOperand(), RegisterOperands::pushRegUnits(), llvm::TargetRegisterInfo::regsOverlap(), llvm::LivePhysRegs::removeReg(), llvm::MachineRegisterInfo::setPhysRegUnused(), llvm::MipsRegInfoRecord::SetPhysRegUsed(), llvm::MachineRegisterInfo::setPhysRegUsed(), llvm::RegScavenger::setRegUsed(), llvm::ScheduleDAGInstrs::startBlockForKills(), llvm::ScheduleDAGInstrs::toggleKillFlag(), TrackDefUses(), llvm::LiveRegMatrix::unassign(), uniqueSuperReg(), llvm::LiveIntervals::HMEditor::updateAllRanges(), updatePhysDepsDownwards(), and updatePhysDepsUpwards().

unsigned llvm::MCRegisterInfo::DiffListIterator::operator* ( ) const [inline]

Dereference the iterator to get the value at the current position.

Definition at line 220 of file MCRegisterInfo.h.

void llvm::MCRegisterInfo::DiffListIterator::operator++ ( ) [inline]

Pre-increment to move to the next position.

Definition at line 223 of file MCRegisterInfo.h.

References advance().


The documentation for this class was generated from the following file: