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

Module Cached

Import path

import semmle.code.cpp.ir.implementation.aliased_ssa.internal.SSAConstruction

Predicates

chiOnlyPartiallyUpdatesLocation

Holds if the ChiPartialOperand only partially overlaps with the ChiTotalOperand. This means that the ChiPartialOperand will not override the entire memory associated with the ChiTotalOperand.

getAnUninitializedGroupVariable
getChiInstructionTotalOperand
getInstructionAst
getInstructionBackEdgeSuccessor
getInstructionEnclosingIRFunction
getInstructionOpcode

Holds if opcode is the opcode that specifies the operation performed by instr.

getInstructionOperandType
getInstructionResultIRType
getInstructionResultType
getInstructionSuccessor

This adds Chi nodes to the instruction successor relation; if an instruction has a Chi node, that node is its successor in the new successor relation, and the Chi node’s successors are the new instructions generated from the successors of the old instruction.

getMemoryOperandDefinition
getNewBlock
getPhiInstructionBlockStart
getPhiOperandDefinition
getPrimaryInstructionForSideEffect
getUsedInterval

Holds if operand totally overlaps with its definition and consumes the bit range [startBitOffset, endBitOffset).

hasChiInstructionCached
hasChiNodeAfterUninitializedGroup
hasConflatedMemoryResult
hasInstruction
hasModeledMemoryResult
hasPhiInstructionCached
hasUnreachedInstructionCached
isInCycle

Holds if instr is part of a cycle in the operand graph that doesn’t go through a phi instruction and therefore should be impossible.