LLVM
15.0.0git
|
reg_begin/reg_end - Provide iteration support to walk over all definitions and uses of a register within the MachineFunction that corresponds to this MachineRegisterInfo object. More...
#include "llvm/CodeGen/MachineRegisterInfo.h"
Public Types | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = MachineOperand |
using | difference_type = std::ptrdiff_t |
using | pointer = value_type * |
using | reference = value_type & |
Public Member Functions | |
defusechain_iterator ()=default | |
bool | operator== (const defusechain_iterator &x) const |
bool | operator!= (const defusechain_iterator &x) const |
bool | atEnd () const |
atEnd - return true if this iterator is equal to reg_end() on the value. More... | |
defusechain_iterator & | operator++ () |
defusechain_iterator | operator++ (int) |
unsigned | getOperandNo () const |
getOperandNo - Return the operand # of this MachineOperand in its MachineInstr. More... | |
MachineOperand & | operator* () const |
MachineOperand * | operator-> () const |
Friends | |
class | MachineRegisterInfo |
reg_begin/reg_end - Provide iteration support to walk over all definitions and uses of a register within the MachineFunction that corresponds to this MachineRegisterInfo object.
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.
Definition at line 274 of file MachineRegisterInfo.h.
using llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::difference_type = std::ptrdiff_t |
Definition at line 1004 of file MachineRegisterInfo.h.
using llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::iterator_category = std::forward_iterator_tag |
Definition at line 1002 of file MachineRegisterInfo.h.
using llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::pointer = value_type * |
Definition at line 1005 of file MachineRegisterInfo.h.
using llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::reference = value_type & |
Definition at line 1006 of file MachineRegisterInfo.h.
using llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::value_type = MachineOperand |
Definition at line 1003 of file MachineRegisterInfo.h.
|
default |
|
inline |
atEnd - return true if this iterator is equal to reg_end() on the value.
Definition at line 1053 of file MachineRegisterInfo.h.
|
inline |
getOperandNo - Return the operand # of this MachineOperand in its MachineInstr.
Definition at line 1081 of file MachineRegisterInfo.h.
References assert().
Referenced by llvm::FastISel::tryToFoldLoad().
|
inline |
Definition at line 1048 of file MachineRegisterInfo.h.
References llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator==(), and x.
|
inline |
Definition at line 1087 of file MachineRegisterInfo.h.
References assert().
|
inline |
Definition at line 1056 of file MachineRegisterInfo.h.
References assert(), llvm::getBundleStart(), and P.
|
inline |
Definition at line 1075 of file MachineRegisterInfo.h.
|
inline |
Definition at line 1092 of file MachineRegisterInfo.h.
References assert().
|
inline |
Definition at line 1045 of file MachineRegisterInfo.h.
References x.
Referenced by llvm::MachineRegisterInfo::defusechain_iterator< ReturnUses, ReturnDefs, SkipDebug, ByOperand, ByInstr, ByBundle >::operator!=().
|
friend |
Definition at line 999 of file MachineRegisterInfo.h.