CodeQL library for C/C++
Search

Class IndirectMemoryAccessOpcode

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

Import path

import semmle.code.cpp.ir.IR

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    hasAddressOperand

    Holds if the instruction has an AddressOperand.

    Inherited predicates

    getReadMemoryAccess

    Gets the kind of memory access performed by this instruction’s MemoryOperand. Holds only for opcodes that read from memory.

    from Opcode
    getWriteMemoryAccess

    Gets the kind of memory access performed by this instruction’s result. Holds only for opcodes with a memory result.

    from Opcode
    hasBufferSizeOperand

    Holds if the instruction has a BufferSizeOperand.

    from Opcode
    hasMayReadMemoryAccess

    Holds if the instruction’s read memory access is a may read, as opposed to a must read.

    from Opcode
    hasMayWriteMemoryAccess

    Holds if the instruction’s write memory access is a may write, as opposed to a must write.

    from Opcode
    hasOperand

    Holds if the instruction must have an operand with the specified OperandTag.

    from Opcode
    hasOperandInternal

    Holds if the instruction must have an operand with the specified OperandTag, ignoring AddressOperandTag and BufferSizeOperandTag.

    from Opcode
    toString

    Gets a textual representation of this element.

    from Opcode