Predicate SsaCached::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.
The path from node i
in bb
to next
goes via basic block input
,
which is either a predecessor of the basic block of next
, or input
=
bb
in case next
occurs in basic block bb
.
Import path
import semmle.code.cpp.ir.dataflow.internal.SsaInternals
predicate lastRefRedefExt(DefinitionExt def, SourceVariable sv, IRBlock bb, int i, IRBlock input, DefinitionExt next)