MLton

SplitTypes is an optimization pass for the SSA IntermediateLanguage, invoked from SSASimplify.

Description

SplitTypes performs a unification-based analysis to split a datatype into distinct instances for constructed values that are not unified. Because datatypes are recursive, other analyses often conflate all defs and uses of ConApp-s; SplitTypes allows non-unified instances of a datatype to be analyzed separately.

Implementation

Details and Notes