Class Operand::MemoryOperand

An operand that consumes a memory result (e.g. the LoadOperand on a Load instruction).

Direct supertypes

Indirect supertypes

Known direct subtypes



Returns the operand that holds the memory address from which the current operand loads its value, if any. For example, in r3 = Load r1, m2, the result of getAddressOperand() for m2 is r1.


Gets the kind of memory access performed by the operand.


Holds if the value consumed by this operand is a glvalue. If this holds, the value of the operand represents the address of a location, and the type of the location is given by getType(). If this does not hold, the value of the operand represents a value whose type is given by getResultType().

Inherited predicates


Gets the Instruction whose result is the value of the operand.

from Operand

Gets a prefix to use when dumping the operand in an operand list.

from Operand

Get the order in which the operand should be sorted in the operand list.

from Operand

Gets a string describing this operand, suitable for display in IR dumps. This consists of the result ID of the instruction consumed by the operand, plus a label identifying the operand kind.

from Operand
getEnclosingIRFunctionfrom Operand
getLocationfrom Operand

Gets the size of the value consumed by this operand, in bytes. If the operand does not have a known constant size, this predicate does not hold.

from Operand

Gets the type of the value consumed by this operand. This is usually the same as the result type of the definition instruction consumed by this operand. For register operands, this is always the case. For some memory operands, the operand type may be different from the definition type, such as in the case of a partial read or a read from a pointer that has been cast to a different type.

from Operand

Gets the Instruction that consumes this operand.

from Operand
toStringfrom Operand