CodeQL library for C/C++
codeql/cpp-all 2.0.1-dev (changelog, source)
Search

Module MemoryAccessKind

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

Import path

import semmle.code.cpp.ir.implementation.MemoryAccessKind

Classes

BufferMemoryAccess

The operand or result accesses memory starting at the address specified by the AddressOperand on the same instruction, accessing a number of consecutive elements given by the BufferSizeOperand.

ChiPartialMemoryAccess

The operand is a ChiPartial operand, which accesses the same memory as its definition.

ChiTotalMemoryAccess

The operand is a ChiTotal operand, which accesses the same memory as its definition.

EntireAllocationMemoryAccess

The operand or results accesses all memory in the contiguous allocation that contains the address specified by the AddressOperand on the same instruction.

EscapedMemoryAccess

The operand or result accesses all memory whose address has escaped.

GroupedMemoryAccess

The result of an UninitializedGroup instruction, which initializes a set of allocations that are each assigned the same virtual variable.

IndirectMemoryAccess

The operand or result accesses memory at the address specified by the AddressOperand on the same instruction.

MemoryAccessKind

Describes the set of memory locations memory accessed by a memory operand or memory result.

NonLocalMemoryAccess

The operand or result access all memory whose address has escaped, other than data on the stack frame of the current function.

PhiMemoryAccess

The operand is a Phi operand, which accesses the same memory as its definition.