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

Module SsaInternals

Import path

import semmle.code.cpp.ir.dataflow.internal.SsaInternals

Imports

SourceVariables
SsaCached

The final SSA predicates used for dataflow purposes.

SsaInternalsCommon

Predicates

adjacentDefRead

Holds if defOrUse1 is a definition which is first read by use, or if defOrUse1 is a use and use is a next subsequent use.

fromPhiNode

Holds if nodeTo receives flow from the phi node nodeFrom.

hasIndirectOperand

Holds if indirectionIndex is a valid non-zero indirection index for operand op. That is, indirectionIndex is between 1 and the maximum indirection for the operand’s type.

hasRawIndirectInstruction

Holds if the (instr, indirectionIndex) columns should be assigned a RawIndirectInstruction value.

hasRawIndirectOperand

Holds if the (operand, indirectionIndex) columns should be assigned a RawIndirectOperand value.

nodeToDefOrUse

INTERNAL: Do not use.

outNodeHasAddressAndIndex
postUpdateFlow

Holds if there is def-use or use-use flow from pun to nodeTo.

ssaFlow

Holds if there is def-use or use-use flow from nodeFrom to nodeTo.

Classes

Def
DefImpl
DefOrUse
FinalParameterUse
GlobalDef
GlobalDefImpl

A definition that models a synthetic “initial definition” of a global variable just after the function entry point.

GlobalUse

A use that models a synthetic “last use” of a global variable just before a function returns.

Phi
PhiNode
UseImpl
UseOrPhi

Modules

SsaCached

The final SSA predicates used for dataflow purposes.

Aliases

DefinitionExt

An extended static single assignment (SSA) definition.

UncertainWriteDefinition

An SSA definition that represents an uncertain update of the underlying source variable.