Module OperandTag

Import path

semmle.code.cpp.ir.internal.OperandTag

Imports

cpp

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

Predicates

Classes

AddressOperandTag

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

ArgumentOperandTag

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).

BufferSizeOperand

The buffer size operand of an instruction that represents a read or write of a buffer.

CallTargetOperandTag

The operand representing the target function of an Call instruction.

ChiPartialOperandTag
ChiTotalOperandTag
ConditionOperandTag

The condition operand of a ConditionalBranch or Switch instruction.

CopySourceOperandTag

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

ExceptionOperandTag

The exception thrown by a ThrowValue instruction.

LeftOperandTag

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

OperandTag

Identifies the kind of operand on an instruction. Each Instruction has at most one operand of any single OperandTag. The set of OperandTags used by an Instruction is determined by the instruction’s opcode.

PositionalArgumentOperandTag

An operand representing an argument to a function call.

ReturnValueOperandTag

The return value operand of a ReturnValue instruction.

RightOperandTag

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

SideEffectOperandTag

The operand representing the read side effect of a SideEffectInstruction.

ThisArgumentOperandTag

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

UnaryOperandTag

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

UnmodeledUseOperandTag

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