Module Operand

Import path

semmle.code.cpp.ir.implementation.unaliased_ssa.Operand

Imports

IRBlock
Instruction
MemoryAccessKind
cpp

Provides classes and predicates for working with C/C++/ObjC/ObjC++ code.

Classes

AddressOperand

The address operand of an instruction that loads or stores a value from memory (e.g. Load, Store).

ArgumentOperand

An operand representing an argument to a function call. This includes both positional arguments (represented by PositionalArgumentOperand) and the implicit this argument, if any (represented by ThisArgumentOperand).

CallTargetOperand

The operand representing the target function of an Call instruction.

ChiPartialOperand

The partial operand of a Chi node, representing the value being written to part of the memory.

ChiTotalOperand

The total operand of a Chi node, representing the previous value of the memory.

ConditionOperand

The condition operand of a ConditionalBranch or Switch instruction.

CopySourceOperand

The source value operand of an instruction that copies this value to its result (e.g. Copy, Load, Store).

ExceptionOperand

The exception thrown by a ThrowValue instruction.

LeftOperand

The left operand of a binary instruction (e.g. Add, CompareEQ).

MemoryOperand

An operand that reads a value from memory.

NonPhiOperand

An operand that is not an operand of a PhiInstruction.

Operand

A source operand of an Instruction. The operand represents a value consumed by the instruction.

PhiOperand

An operand of a PhiInstruction.

PositionalArgumentOperand

An operand representing an argument to a function call.

ReturnValueOperand

The return value operand of a ReturnValue instruction.

RightOperand

The right operand of a binary instruction (e.g. Add, CompareEQ).

SideEffectOperand
ThisArgumentOperand

An operand representing the implicit ‘this’ argument to a member function call.

UnaryOperand

The sole operand of a unary instruction (e.g. Convert, Negate).

UnmodeledUseOperand

An operand of the special UnmodeledUse instruction, representing a value whose set of uses is unknown.