MLton 20100608 CommonBlock
Home  Index  
CommonBlock is an optimization pass for the SSA IntermediateLanguage, invoked from SSASimplify.

Description

It eliminates equivalent blocks in a SSA function. The equivalence criteria requires blocks to have no arguments or statements and transfer via Raise, Return, or Goto of a single global variable.

Implementation

[WWW]common-block.sig [WWW]common-block.fun

Details and Notes

The Shrink pass rewrites all uses of L_X to L_Y' and drops L_X.

For example, all uncaught Overflow exceptions in a SSA function share the same raising block.


Last edited on 2006-11-02 17:56:13 by MatthewFluet.