Static single-assignment form: Difference between revisions

Content deleted Content added
Dcoetzee (talk | contribs)
m Plural link oops
Dcoetzee (talk | contribs)
m Sectioned a bit
Line 26:
 
=== Converting to SSA ===
 
==== Introduction ====
 
Converting ordinary code into SSA form is primarily a simple matter of replacing the target of each assignment with a new variable, and replacing each use of a variable with the "version" of the variable [[reaching definition|reaching]] that point. For example, consider the following [[control flow graph]]:
Line 50 ⟶ 52:
 
A more general question along the same lines is, given an arbitrary control flow graph, how can I tell where to insert &phi; functions, and for what variables? This is a difficult question, but one that has an efficient solution that can be computed using a concept called <i>dominance frontiers</i>.
 
==== Computing minimal SSA using dominance frontiers ====
 
<i>More needed here describing the dominance-frontier based algorithm for computing "minimal" SSA, and other things.</i>