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

Module SsaCached

The final SSA predicates used for dataflow purposes.

Import path

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

Predicates

adjacentDefReadExt

Holds if def is accessed at index i1 in basic block bb1 (either a read or a write), def is read at index i2 in basic block bb2, and there is a path between them without any read of def.

lastRefRedefExt

Holds if the node at index i in bb is a last reference to SSA definition def. The reference is last because it can reach another write next, without passing through another read or write.

phiHasInputFromBlockExt
ssaDefReachesReadExt

Aliases

variableRead

Holds if the i’th read in block bb reads to the variable v. certain is true if the read is guaranteed. For C++, this is always the case.

variableWrite

Holds if the i’th write in block bb writes to the variable v. certain is true if the write is guaranteed to overwrite the entire variable.