LLVM 20.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 = std::forward_iterator_tag |
using | value_type = ValueT |
using | difference_type = std::ptrdiff_t |
using | pointer = ValueT * |
using | reference = ValueT & |
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 94 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 120 of file MachineInstrBundle.h.
References llvm::getBundleStart(), and MI.
|
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 130 of file MachineInstrBundle.h.
|
inline |
getOperandNo - Returns the number of the current operand relative to its instruction.
Definition at line 158 of file MachineInstrBundle.h.
|
inline |
isValid - Returns true until all the operands have been visited.
Definition at line 136 of file MachineInstrBundle.h.
Referenced by llvm::MachineInstr::getRegClassConstraintEffectForVReg(), llvm::MIBundleOperandIteratorBase< ValueT >::operator++(), llvm::recomputeLivenessFlags(), and stripValuesNotDefiningMask().
|
inline |
Definition at line 145 of file MachineInstrBundle.h.
|
inline |
Preincrement. Move to the next operand.
Definition at line 139 of file MachineInstrBundle.h.
References assert(), and llvm::MIBundleOperandIteratorBase< ValueT >::isValid().
|
inline |
Definition at line 146 of file MachineInstrBundle.h.
|
inline |
Definition at line 148 of file MachineInstrBundle.h.