diff options
Diffstat (limited to 'content/zettel/2e1e.md')
-rw-r--r-- | content/zettel/2e1e.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/content/zettel/2e1e.md b/content/zettel/2e1e.md new file mode 100644 index 0000000..5c0802b --- /dev/null +++ b/content/zettel/2e1e.md @@ -0,0 +1,20 @@ ++++ +title = "Static single assignment" +author = "Yann Herklotz" +tags = [] +categories = [] +backlinks = ["2e1d"] +forwardlinks = ["2e1f"] +zettelid = "2e1e" ++++ + +Static single assignment (SSA) is an intermediate language that is very +useful for the analysis and transformation for various optimisations +that require data-flow analysis. In standard intermediate languages, +registers can be reused, which means it can be quite tricky to analyse +the liveness and current value of each register. However, if only one +assignment can be made to a register, then it is much easier to perform +symbolic analysis on the intermediate representation, because all the +registers are fresh. Therefore no sequential substitution needs to be +done when performing the evaluation, and it's only necessary to +substitute in the values for the registers directly. |