Module Instruction

Import path

semmle.code.cpp.ir.implementation.unaliased_ssa.Instruction

Imports

EdgeKind
FunctionIR
IRBlock
IRVariable
MemoryAccessKind
Opcode
Operand
cpp

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

Classes

AddInstruction
AliasedDefinitionInstruction

An instruction that initializes all escaped memory.

BinaryInstruction
BitAndInstruction
BitComplementInstruction
BitOrInstruction
BitXorInstruction
BufferMayWriteSideEffectInstruction

An instruction representing the write of an indirect buffer parameter within a function call. Unlike BufferWriteSideEffectInstruction, the buffer might not be completely overwritten.

BufferReadSideEffectInstruction

An instruction representing the read of an indirect buffer parameter within a function call.

BufferWriteSideEffectInstruction

An instruction representing the write of an indirect buffer parameter within a function call. The entire buffer is overwritten.

BuiltInInstruction

An instruction representing a built-in operation. This is used to represent operations such as access to variable argument lists.

CallInstruction

An instruction that calls a function.

CallReadSideEffectInstruction

An instruction representing the side effect of a function call on any memory that might be read by that call.

CallSideEffectInstruction

An instruction representing the side effect of a function call on any memory that might be accessed by that call.

CatchAnyInstruction

An instruction that catches any exception.

CatchByTypeInstruction

An instruction that catches an exception of a specific type.

CatchInstruction

An instruction that starts a catch handler.

ChiInstruction

An instruction representing the effect that a write to a memory may have on potential aliases of that memory.

CompareEQInstruction
CompareGEInstruction
CompareGTInstruction
CompareInstruction
CompareLEInstruction
CompareLTInstruction
CompareNEInstruction
ConditionalBranchInstruction
ConstantInstruction
ConstantValueInstruction
ConvertInstruction
ConvertToBaseInstruction

Represents an instruction that converts from the address of a derived class to the address of a direct non-virtual base class.

ConvertToDerivedInstruction

Represents an instruction that converts from the address of a base class to the address of a direct non-virtual derived class.

ConvertToVirtualBaseInstruction

Represents an instruction that converts from the address of a derived class to the address of a virtual base class.

CopyInstruction
CopyValueInstruction
DivInstruction
EnterFunctionInstruction
ExitFunctionInstruction
FieldAddressInstruction
FieldInstruction
FloatConstantInstruction
FunctionInstruction
IndirectMayWriteSideEffectInstruction

An instruction representing the potential write of an indirect parameter within a function call. Unlike IndirectWriteSideEffectInstruction, the location might not be completely overwritten. written.

IndirectReadSideEffectInstruction

An instruction representing the read of an indirect parameter within a function call.

IndirectWriteSideEffectInstruction

An instruction representing the write of an indirect parameter within a function call.

InheritanceConversionInstruction

Represents an instruction that converts between two addresses related by inheritance.

InitializeParameterInstruction
InitializeThisInstruction

An instruction that initializes the this pointer parameter of the enclosing function.

Instruction

Represents a single operation in the IR.

IntegerConstantInstruction
LoadInstruction
LogicalNotInstruction
MulInstruction
NegateInstruction
NoOpInstruction
PhiInstruction

An instruction representing the choice of one of multiple input values based on control flow.

PointerAddInstruction
PointerArithmeticInstruction
PointerDiffInstruction
PointerOffsetInstruction
PointerSubInstruction
ReThrowInstruction

An instruction that re-throws the current exception.

RelationalInstruction

Represents an instruction that does a relative comparison of two values, such as < or >=.

RemInstruction
ReturnInstruction
ReturnValueInstruction
ReturnVoidInstruction
ShiftLeftInstruction
ShiftRightInstruction
SideEffectInstruction

An instruction representing a side effect of a function call.

StoreInstruction
StringConstantInstruction
SubInstruction
SwitchInstruction
ThrowInstruction

An instruction that throws an exception.

ThrowValueInstruction

An instruction that throws a new exception.

UnaryInstruction
UninitializedInstruction
UnmodeledDefinitionInstruction
UnmodeledUseInstruction
UnwindInstruction

An instruction that exits the current function by propagating an exception.

VariableAddressInstruction
VariableInstruction

Modules

Aliases