PolyHash is an optimization pass for the SSA IntermediateLanguage, invoked from SSASimplify.
Description
This pass implements polymorphic, structural hashing.
Implementation
Details and Notes
For each datatype, tycon, and vector type, it builds and equality
function and translates calls to MLton_hash
into calls to that
function.
For tuples, it does the equality test inline; i.e., it does not create a separate equality function for each tuple type.
All equality functions are created only if necessary, i.e., if equality is actually used at a type.