Hoppa till innehållet

Static single assignment form

Från Wikipedia
Version från den 4 mars 2007 kl. 13.15 av 83.233.144.123 (Diskussion) (Ny sida: Inom datorvetenskapen är ''static single assignment form'' (ofta förkortat ''SSA form'' eller ''SSA'') en representation av datorinstruktioner (''intermediate code'') där varje variabel ...)
(skillnad) ← Äldre version | visa nuvarande version (skillnad) | Nyare version → (skillnad)

Inom datorvetenskapen är static single assignment form (ofta förkortat SSA form eller SSA) en representation av datorinstruktioner (intermediate code) där varje variabel tilldelas exakt en gång. Existerande variabler i den ursprungliga koden delas upp i versioner (i regel med ett index), så att varje tilldelning till en variabel får ett eget namn.

Nedan följer ett enkelt program (före övergång till SSA)

    y = 4;
    x = 2;
    x = y;

Efter övergång till SSA ser det ut så här

    y_1 = 4;
    x_1 = 2;
    x_2 = y_1;

En stor fördel med SSA är att det är mycket lättare att skriva optimeringsalgoritmer, då man bara behöver hålla reda på var en variabel initieras och var den används. På detta sätt kan man tex. garantera att ett värde inte kommer att ändras ifall det värde som variabeln initierades med i sin tur är konstant.

SSA utvecklades av Ron Cytron, Jeanne Ferrante, Barry Rosen, Mark Wegman och Ken Zadeck (samtliga forskare på IBM) undet 1980-talet.

Källa: Engelska wikipedia http://en.wikipedia.org/wiki/Static_single_assignment_form