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.
|