class MIBundleOperandIteratorBase

Declaration

template <typename ValueT>
class MIBundleOperandIteratorBase { /* full declaration omitted */ };

Description

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; ... }

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:94

Templates

ValueT

Member Variables

private MachineBasicBlock::instr_iterator InstrI
private MachineBasicBlock::instr_iterator InstrE
private MachineInstr::mop_iterator OpI
private MachineInstr::mop_iterator OpE

Method Overview

Methods

MIBundleOperandIteratorBase<ValueT>(
    llvm::MachineInstr& MI)

Description

MIBundleOperandIteratorBase - Create an iterator that visits all operands on MI, or all operands on every instruction in the bundle containing MI.

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:120

Parameters

llvm::MachineInstr& MI
The instruction to examine.

MIBundleOperandIteratorBase<ValueT>(
    MachineBasicBlock::instr_iterator InstrE,
    MachineInstr::mop_iterator OpE)

Description

Constructor for an iterator past the last iteration: both instruction iterators point to the end of the BB and OpI == OpE.

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:130

Parameters

MachineBasicBlock::instr_iterator InstrE
MachineInstr::mop_iterator OpE

void advance()

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:102

unsigned int getOperandNo() const

Description

getOperandNo - Returns the number of the current operand relative to its instruction.

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:158

bool isValid() const

Description

isValid - Returns true until all the operands have been visited.

Declared at: llvm/include/llvm/CodeGen/MachineInstrBundle.h:136