Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / LocalFlatten.adoc
1 LocalFlatten
2 ============
3
4 <:LocalFlatten:> is an optimization pass for the <:SSA:>
5 <:IntermediateLanguage:>, invoked from <:SSASimplify:>.
6
7 == Description ==
8
9 This pass flattens arguments to <:SSA:> blocks.
10
11 A block argument is flattened as long as it only flows to selects and
12 there is some tuple constructed in this function that flows to it.
13
14 == Implementation ==
15
16 * <!ViewGitFile(mlton,master,mlton/ssa/local-flatten.fun)>
17
18 == Details and Notes ==
19
20 {empty}