class MCRegisterInfo::DiffListIterator

Declaration

class MCRegisterInfo::DiffListIterator { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/MC/MCRegisterInfo.h:196

Member Variables

private uint16_t Val = 0
private const llvm::MCPhysReg* List = nullptr

Method Overview

Methods

DiffListIterator()

Description

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

Declared at: llvm/include/llvm/MC/MCRegisterInfo.h:202

llvm::MCRegister advance()

Description

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

Declared at: llvm/include/llvm/MC/MCRegisterInfo.h:215

void init(llvm::MCPhysReg InitVal,
          const llvm::MCPhysReg* DiffList)

Description

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.

Declared at: llvm/include/llvm/MC/MCRegisterInfo.h:207

Parameters

llvm::MCPhysReg InitVal
const llvm::MCPhysReg* DiffList

bool isValid() const

Description

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

Declared at: llvm/include/llvm/MC/MCRegisterInfo.h:224