Inline - MLton Standard ML Compiler (SML Compiler)

MLton MLTONWIKIVERSION | Inline |
Home Index

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

## Description

This pass inlines SSA functions using a size-based metric.

## Implementation

inline.sig inline.fun

## Details and Notes

The Inline pass can be invoked to use one of three metrics:

- `NonRecursive(product, small)` -- inline any function satisfying `(numCalls - 1) * (size - small) <= product`, where `numCalls` is the static number of calls to the function and `size` is the size of the function.

- `Leaf(size)` -- inline any leaf function smaller than `size`

- `LeafNoLoop(size)` -- inline any leaf function without loops smaller than `size`

Last edited on 2006-11-02 17:31:06 by MatthewFluet.