Multi
=====

<:Multi:> is an analysis pass for the <:SSA:>
<:IntermediateLanguage:>, invoked from <:ConstantPropagation:> and
<:LocalRef:>.

== Description ==

This pass analyzes the control flow of a <:SSA:> program to determine
which <:SSA:> functions and blocks might be executed more than once or
by more than one thread.  It also determines when a program uses
threads and when functions and blocks directly or indirectly invoke
`Thread_copyCurrent`.

== Implementation ==

* <!ViewGitFile(mlton,master,mlton/ssa/multi.sig)>
* <!ViewGitFile(mlton,master,mlton/ssa/multi.fun)>

== Details and Notes ==

{empty}
