## MLton 20241230+git20251029+dfsg-5

# ToSSA2

ToSSA2 is a translation pass from the SSA IntermediateLanguage to the SSA2 IntermediateLanguage.

## Description

This pass is a simple conversion from a SSA program into a SSA2 program.

The only interesting portions of the translation are:

- an SSA `ref` type becomes an object with a single mutable field

- `array`, `vector`, and `ref` are eliminated in favor of select and updates

- `Case` transfers separate discrimination and constructor argument selects

## Implementation

- `ssa-to-ssa2.sig`

- `ssa-to-ssa2.fun`

## Details and Notes