Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | ToSSA2 |
2 | ====== | |
3 | ||
4 | <:ToSSA2:> is a translation pass from the <:SSA:> | |
5 | <:IntermediateLanguage:> to the <:SSA2:> <:IntermediateLanguage:>. | |
6 | ||
7 | == Description == | |
8 | ||
9 | This pass is a simple conversion from a <:SSA:> program into a | |
10 | <:SSA2:> program. | |
11 | ||
12 | The only interesting portions of the translation are: | |
13 | ||
14 | * an <:SSA:> `ref` type becomes an object with a single mutable field | |
15 | * `array`, `vector`, and `ref` are eliminated in favor of select and updates | |
16 | * `Case` transfers separate discrimination and constructor argument selects | |
17 | ||
18 | == Implementation == | |
19 | ||
20 | * <!ViewGitFile(mlton,master,mlton/ssa/ssa-to-ssa2.sig)> | |
21 | * <!ViewGitFile(mlton,master,mlton/ssa/ssa-to-ssa2.fun)> | |
22 | ||
23 | == Details and Notes == | |
24 | ||
25 | {empty} |