LLVM 22.0.0git
|
MIBundleOperandIteratorBase - Iterator that visits all operands in a bundle of MachineInstrs. More...
#include "llvm/CodeGen/MachineInstrBundle.h"
Protected Member Functions | |
MIBundleOperandIteratorBase (MachineInstr &MI) | |
MIBundleOperandIteratorBase - Create an iterator that visits all operands on MI, or all operands on every instruction in the bundle containing MI. | |
MIBundleOperandIteratorBase (MachineBasicBlock::instr_iterator InstrE, MachineInstr::mop_iterator OpE) | |
Constructor for an iterator past the last iteration: both instruction iterators point to the end of the BB and OpI == OpE. |
Additional Inherited Members | |
Public Types inherited from llvm::iterator_facade_base< MIBundleOperandIteratorBase< ValueT >, std::forward_iterator_tag, ValueT > | |
using | iterator_category |
using | value_type |
using | difference_type |
using | pointer |
using | reference |
Protected Types inherited from llvm::iterator_facade_base< MIBundleOperandIteratorBase< ValueT >, std::forward_iterator_tag, ValueT > | |
enum |
MIBundleOperandIteratorBase - Iterator that visits all operands in a bundle of MachineInstrs.
This class is not intended to be used directly, use one of the sub-classes instead.
Intended use:
for (MIBundleOperands MIO(MI); MIO.isValid(); ++MIO) { if (!MIO->isReg()) continue; ... }
Definition at line 97 of file MachineInstrBundle.h.
|
inlineexplicitprotected |
MIBundleOperandIteratorBase - Create an iterator that visits all operands on MI, or all operands on every instruction in the bundle containing MI.
MI | The instruction to examine. |
Definition at line 123 of file MachineInstrBundle.h.
References llvm::getBundleStart(), and MI.
Referenced by operator==().
|
inlineexplicitprotected |
Constructor for an iterator past the last iteration: both instruction iterators point to the end of the BB and OpI == OpE.
Definition at line 133 of file MachineInstrBundle.h.
|
inline |
getOperandNo - Returns the number of the current operand relative to its instruction.
Definition at line 161 of file MachineInstrBundle.h.
|
inline |
isValid - Returns true until all the operands have been visited.
Definition at line 139 of file MachineInstrBundle.h.
Referenced by llvm::MachineInstr::getRegClassConstraintEffectForVReg(), operator++(), llvm::recomputeLivenessFlags(), and stripValuesNotDefiningMask().
|
inline |
Definition at line 148 of file MachineInstrBundle.h.
|
inline |
Preincrement. Move to the next operand.
Definition at line 142 of file MachineInstrBundle.h.
|
inline |
Definition at line 149 of file MachineInstrBundle.h.
|
inline |
Definition at line 151 of file MachineInstrBundle.h.
References MIBundleOperandIteratorBase().