## MLton 20241230+git20251029+dfsg-5

# RemoveUnused

RemoveUnused is an optimization pass for both the SSA and SSA2 IntermediateLanguages, invoked from SSASimplify and SSA2Simplify.

## Description

This pass aggressively removes unused:

- datatypes

- datatype constructors

- datatype constructor arguments

- functions

- function arguments

- function returns

- blocks

- block arguments

- statements (variable bindings)

- handlers from non-tail calls (mayRaise analysis)

- continuations from non-tail calls (mayReturn analysis)

## Implementation

- `remove-unused.fun`

- `remove-unused2.fun`

## Details and Notes