llvm::MIBundleOperandIteratorBase

Iterator that visits all operands in a bundle of MachineInstrs.

Synopsis

Declared in <llvm/CodeGen/MachineInstrBundle.h>

template<typename ValueT>
class MIBundleOperandIteratorBase
    : public iterator_facade_base<MIBundleOperandIteratorBase<ValueT>, std::forward_iterator_tag, ValueT>

Description

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

Base Classes

NameDescription
iterator_facade_base<MIBundleOperandIteratorBase<ValueT>, std::forward_iterator_tag, ValueT>CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of the interface.

Type Aliases

NameDescription
difference_type Signed type used to express the distance between iterators.
iterator_category Iterator category tag for this facade.
pointer Pointer type returned by the iterator.
reference Reference type returned by the iterator.
value_type Value type produced by the iterator.

Enums

NameDescription
Unnamed enum Capability flags for the iterator category.

Member Functions

NameDescription
getOperandNo getOperandNo - Returns the number of the current operand relative to its instruction.
isValid isValid - Returns true until all the operands have been visited.
operator* Dereference to the current machine operand.
operator+ Advance the iterator by n and return the result.
operator++ Increment operators
operator- Retreat the iterator by n and return the result.
operator-- Decrement operators
operator-> Member access for the current machine operand.
operator[] Return a proxy to the element at offset n.
operator== Return true if this iterator and Arg refer to the same operand.
operator<= Return true if this iterator is less than or equal to RHS.
operator> Return true if this iterator is greater than RHS.
operator>= Return true if this iterator is greater than or equal to RHS.

Protected Types

NameDescription
PointerProxy Proxy that yields a pointer from a copied reference.
ReferenceProxy Proxy that yields a reference from a copied iterator.

Protected Member Functions

NameDescription
MIBundleOperandIteratorBase [constructor]Constructors

Non-Member Functions

NameDescription
operator+Return an iterator n positions after i.
operator+Return an iterator n positions after i.

Derived Classes

NameDescription
ConstMIBundleOperands ConstMIBundleOperands - Iterate over all operands in a const bundle of machine instructions.
MIBundleOperands MIBundleOperands - Iterate over all operands in a bundle of machine instructions.