Module Opcode

Provides Opcodes that specify the operation performed by an Instruction, as well as metadata about those opcodes, such as operand kinds and memory accesses.

Import path

import semmle.code.cpp.ir.implementation.Opcode

Imports

MemoryAccessKind

Provides classes that describe how a particular Instruction or its operands access memory.

Classes

ArithmeticOpcode

The Opcode for an ArithmeticInstruction.

BinaryArithmeticOpcode

The Opcode for a BinaryArithmeticInstruction.

BinaryBitwiseOpcode

The Opcode for a BinaryBitwiseInstruction.

BinaryOpcode

The Opcode for a BinaryInstruction.

BitwiseOpcode

The Opcode for a BitwiseInstruction.

BufferAccessOpcode

An opcode that accesses a memory buffer.

BuiltInOperationOpcode

The Opcode for a BuiltInOperationInstruction.

CatchOpcode

The Opcode for a CatchInstruction.

CompareOpcode

The Opcode for a CompareInstruction.

ConvertToBaseOpcode

The Opcode for a ConvertToBaseInstruction.

CopyOpcode

The Opcode for a CopyInstruction.

EntireAllocationAccessOpcode

An opcode that access an entire memory allocation.

EntireAllocationReadOpcode

An opcode that reads from an entire memory allocation.

EntireAllocationWriteOpcode

An opcode that write to an entire memory allocation.

EscapedReadOpcode

An opcode that might read from any escaped memory location.

EscapedWriteOpcode

An opcode that might write to any escaped memory location.

IndirectMemoryAccessOpcode

An opcode that accesses a single memory location via an AddressOperand.

IndirectReadOpcode

An opcode that reads from a single memory location via an AddressOperand.

IndirectWriteOpcode

An opcode that writes to a single memory location via an AddressOperand.

MayReadOpcode

An opcode whose read memory access is a may read, as opposed to a must read.

MayWriteOpcode

An opcode whose write memory access is a may write, as opposed to a must write.

Opcode

An opcode that specifies the operation performed by an Instruction.

OpcodeWithLoad

An opcode that reads a value from memory.

PointerArithmeticOpcode

The Opcode for a PointerArithmeticInstruction.

PointerOffsetOpcode

The Opcode for a PointerOffsetInstruction.

ReadSideEffectOpcode

The Opcode for a ReadSideEffectInstruction.

RelationalOpcode

The Opcode for a RelationalInstruction.

ReturnOpcode

The Opcode for a ReturnInstruction.

SideEffectOpcode

The Opcode for a SideEffectInstruction.

SizedBufferAccessOpcode

An opcode that accesses a memory buffer whose size is determined by a BufferSizeOperand.

SizedBufferReadOpcode

An opcode that reads from a memory buffer whose size is determined by a BufferSizeOperand.

SizedBufferWriteOpcode

An opcode that writes to a memory buffer whose size is determined by a BufferSizeOperand.

ThrowOpcode

The Opcode for a ThrowInstruction.

UnaryArithmeticOpcode

The Opcode for a UnaryArithmeticInstruction.

UnaryBitwiseOpcode

The Opcode for a UnaryBitwiseInstruction.

UnaryOpcode

The Opcode for a UnaryInstruction.

UnsizedBufferAccessOpcode

An opcode that accesses a memory buffer of unknown size.

UnsizedBufferReadOpcode

An opcode that reads from a memory buffer of unknown size.

UnsizedBufferWriteOpcode

An opcode that writes to a memory buffer of unknown size.

WriteSideEffectOpcode

The Opcode for a WriteSideEffectInstruction.

Modules

Opcode

Provides Opcodes that specify the operation performed by an Instruction.