Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / ToSSA2.adoc
CommitLineData
7f918cf1
CE
1ToSSA2
2======
3
4<:ToSSA2:> is a translation pass from the <:SSA:>
5<:IntermediateLanguage:> to the <:SSA2:> <:IntermediateLanguage:>.
6
7== Description ==
8
9This pass is a simple conversion from a <:SSA:> program into a
10<:SSA2:> program.
11
12The 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}