public class CommonSubexpressionEliminator
extends BodyTransformer
Runs an available expressions analysis on a body, then
eliminates common subexpressions.
This implementation is especially slow, as it does not
run on basic blocks. A better implementation (which wouldn't
catch every single cse, but would get most) would use
basic blocks instead.
It is also slow because the flow universe is explicitly created; it
need not be. A better implementation would implicitly compute the
kill sets at every node.