Class CommonSubexpressionEliminator


  • 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.
    • Constructor Detail

      • CommonSubexpressionEliminator

        public CommonSubexpressionEliminator​(Singletons.Global g)
    • Method Detail

      • internalTransform

        protected void internalTransform​(Body b,
                                         String phaseName,
                                         Map<String,​String> options)
        Common subexpression eliminator.
        Specified by:
        internalTransform in class BodyTransformer
        Parameters:
        b - the body on which to apply the transformation
        phaseName - the phasename for this transform; not typically used by implementations.
        options - the actual computed options; a combination of default options and Scene specified options.