Single Static Assignment
Sign in to saveAlso known as Static Single Assignment form, SSA, SSA, static single assignment
intermediate representation (IR) in which each variable is assigned exactly once, and every variable is defined before it is used
Article · Polski
Single Static Assignment to postać programu używana przez kompilatory w trakcie optymalizacji, w której każdej zmiennej wartość przypisuje się tylko raz. Np. dla programu: a = read; b = a + 2; a = a + 1; f(a, b); Postać SSA to: a1 = read; b1 = a1 + 2; a2 = a1 + 1; f(a2, b1); Jeśli wartość zmiennej w danym użyciu może pochodzić z kilku różnych przypisań, używa się specjalnej φ-funkcji. Dla: a = 2; if (b > 0) a = 4; f(a); Postacią SSA jest: a1 = 2; if (b > 0) a2 = 4; a3 = φ(a1, a2); f(a3); Postać SSA ułatwia wiele rodzajów optymalizacji. Najprostszą jest – jeśli wiemy że do danej SSA-zmiennej została przypisana pewna wartość, możemy zastąpić wszystkie użycia tej zmiennej przez daną stałą, nawet jeśli w oryginalnym programie zmienna ta była używana też do innych celów.
Abstract from DBpedia / Wikipedia · CC BY-SA