Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / Chunkify.adoc
1 Chunkify
2 ========
3
4 <:Chunkify:> is an analysis pass for the <:RSSA:>
5 <:IntermediateLanguage:>, invoked from <:ToMachine:>.
6
7 == Description ==
8
9 It partitions all the labels (function and block) in an <:RSSA:>
10 program into disjoint sets, referred to as chunks.
11
12 == Implementation ==
13
14 * <!ViewGitFile(mlton,master,mlton/backend/chunkify.sig)>
15 * <!ViewGitFile(mlton,master,mlton/backend/chunkify.fun)>
16
17 == Details and Notes ==
18
19 Breaking large <:RSSA:> functions into chunks is necessary for
20 reasonable compile times with the <:CCodegen:> and the <:LLVMCodegen:>.