All Superinterfaces:
IOptimizer<IERoutineContext>, IPlugin
All Known Implementing Classes:
AbstractEBlockOptimizer, AbstractEExpressionOptimizer, AbstractEOptimizer, AbstractEPatternOptimizer, AbstractEStatementOptimizer

public interface IEOptimizer extends IOptimizer<IERoutineContext>
Base interface for IR optimizers. DO not implement directly. It is preferable to extend one of the abstract sub-classes.
  • Method Details

    • getDataChainsUpdatePolicy

      DataChainsUpdatePolicy getDataChainsUpdatePolicy()
      Get the data chains update policy after the optimization was performed.
      Returns:
    • performOnExpression

      IEGeneric performOnExpression(IEGeneric exp, IERoutineContext ectx)
      Optimize a single expression.
      Parameters:
      exp - IR expression to optimize
      ectx - helper routine context
      Returns:
      non-null if the expression was optimized; null otherwise