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

Class PhiNode

An static single assignment (SSA) phi node.

This is either a normal phi node or a phi-read node.

Import path

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

Direct supertypes

Indirect supertypes

Predicates

getAnInput

Gets a definition that is an input to this phi node.

hasInputFromBlock

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

isPhiRead

Holds if this phi node is a phi-read node.

Inherited predicates

definesAt

Holds if this SSA definition defines v at index i in basic block bb. Phi nodes are considered to be at index -1, while normal variable writes are at the index of the control flow node they wrap.

from DefinitionExt
getBasicBlock

Gets the basic block to which this SSA definition belongs.

from DefinitionExt
getLocation

Gets the location of this SSA definition.

from DefinitionExt
getSourceVariable

Gets the source variable underlying this SSA definition.

from DefinitionExt
toString

Gets a textual representation of this SSA definition.

from DefinitionExt

Charpred