class MachineRegisterInfo::defusechain_instr_iterator
Declaration
template <bool ReturnUses,
bool ReturnDefs,
bool SkipDebug,
bool ByOperand,
bool ByInstr,
bool ByBundle>
class MachineRegisterInfo::defusechain_instr_iterator { /* full declaration omitted */ };Description
defusechain_iterator - This class provides iterator support for machine operands in the function that use or define a specific register. If ReturnUses is true it returns uses of registers, if ReturnDefs is true it returns defs. If neither are true then you are silly and it always returns end(). If SkipDebug is true it skips uses marked Debug when incrementing.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:1106
Templates
- bool ReturnUses
- bool ReturnDefs
- bool SkipDebug
- bool ByOperand
- bool ByInstr
- bool ByBundle
Member Variables
- private llvm::MachineOperand* Op = nullptr
Method Overview
- private void advance()
- public bool atEnd() const
- private defusechain_instr_iterator<Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle>(llvm::MachineOperand * op)
- public defusechain_instr_iterator<Uses, Defs, SkipDebug, ByOperand, ByInstr, ByBundle>()
Methods
¶void advance()
void advance()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:1130
¶bool atEnd() const
bool atEnd() constDescription
atEnd - return true if this iterator is equal to reg_end() on the value.
Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:1161
¶defusechain_instr_iterator<Uses,
Defs,
SkipDebug,
ByOperand,
ByInstr,
ByBundle>(
llvm::MachineOperand* op)
defusechain_instr_iterator<Uses,
Defs,
SkipDebug,
ByOperand,
ByInstr,
ByBundle>(
llvm::MachineOperand* op)Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:1119
Parameters
¶defusechain_instr_iterator<Uses,
Defs,
SkipDebug,
ByOperand,
ByInstr,
ByBundle>()
defusechain_instr_iterator<Uses,
Defs,
SkipDebug,
ByOperand,
ByInstr,
ByBundle>()Declared at: llvm/include/llvm/CodeGen/MachineRegisterInfo.h:1151