Module SSA::Ssa

Classes

Definition

A static single assignment (SSA) definition. Either an explicit variable definition (ExplicitDefinition), an implicit variable definition (ImplicitDefinition), or a pseudo definition (PseudoDefinition).

ExplicitDefinition

An SSA definition that corresponds to an explicit assignable definition.

ImplicitCallDefinition

An SSA definition representing the potential definition of a variable via a call.

ImplicitDefinition

An SSA definition that does not correspond to an explicit variable definition. Either an implicit initialization of a variable at the beginning of a callable (ImplicitEntryDefinition), an implicit definition via a call (ImplicitCallDefinition), an implicit definition where the qualifier is updated (ImplicitQualifierDefinition), or a definition for a field or property that is not amenable to SSA analysis (ImplicitUntrackedDefinition).

ImplicitEntryDefinition

An SSA definition representing the implicit initialization of a variable at the beginning of a callable. Either the variable is a local scope variable captured by the callable, or a field or property accessed inside the callable.

ImplicitQualifierDefinition

An SSA definition representing the potential definition of a variable via an SSA definition for the qualifier.

ImplicitUntrackedDefinition

An SSA definition for a variable that is not amenable to SSA analysis. A definition is inserted prior to every read.

PhiNode

An SSA phi node, that is, a pseudo definition for a variable at a point in the flow graph where otherwise two or more definitions for the variable would be visible.

PseudoDefinition

An SSA definition that has no actual semantics, but simply serves to merge or filter data flow.

SourceVariable

A variable that can be SSA converted.

UncertainDefinition

An SSA definition that represents an uncertain update of the underlying assignable. Either an explicit update that is uncertain (ref assignments need not be certain), an implicit non-local update via a call, or an uncertain update of the qualifier.

Modules

Internal

INTERNAL: Do not use.

SourceVariables

Provides different types of SourceVariables.

Aliases

BasicBlock

A basic block, that is, a maximal straight-line sequence of control flow nodes without branches or joins.