Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module performs limited common subexpression elimination
Synopsis
- optimizeCommonSubexpressions :: ModuleName -> [Bind Ann] -> Supply [Bind Ann]
Documentation
optimizeCommonSubexpressions :: ModuleName -> [Bind Ann] -> Supply [Bind Ann] Source #
Float synthetic Apps (right now, the only Apps marked as synthetic are type class dictionaries being fed to functions with constraints, superclass accessors, and instances of IsSymbol) to a new or existing Let as close to the top level as possible.