LoopInvariant - MLton Standard ML Compiler (SML Compiler)

MLton MLTONWIKIVERSION | LoopInvariant |
Home Index

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

## Description

This pass removes loop invariant arguments to local loops.

      loop (x, y)
        ...
      ...
        loop (x, z)
      ...

becomes

      loop' (x, y)
        loop (y)
      loop (y)
        ...
      ...
        loop (z)
      ...

## Implementation

loop-invariant.sig loop-invariant.fun

## Details and Notes

Last edited on 2006-11-02 17:57:42 by MatthewFluet.