What is SSA in compiler design?

In compiler design, static single assignment form (often abbreviated as SSA form or simply SSA) is a property of an intermediate representation (IR) that requires each variable to be assigned exactly once and defined before it is used. Existing variables in the original IR are split into versions, new variables typically indicated by the original name with a subscript in textbooks, so that every definition gets its own version. In SSA form, use-def chains are explicit and each contains a single element.

SSA, or static single assignment form, is a property of an intermediate representation (IR) that requires each variable to be assigned exactly once. Additionally, each variable in SSA must be defined before it is used.