public class Optimize extends Object
New optimization processes can be installed via a global change:
Optimize.setFactory((cxt)->new MyOptimizer(cxt)) ;or on a per-context basis:
Optimize.RewriterFactory f = (cxt)->new MyOptimizer(cxt) ; context.set(ARQConstants.sysOptimizerFactory, f) ;
Modifier and Type | Class and Description |
---|---|
static interface |
Optimize.RewriterFactory
Deprecated.
Use
RewriteFactory |
Modifier and Type | Field and Description |
---|---|
static RewriteFactory |
minimalOptimizationFactory
Factory for the "minimal" optimizer.
|
static RewriteFactory |
noOptimizationFactory
Factory for the "Do nothing" optimizer.
|
static RewriteFactory |
stdOptimizationFactory
Factory for the standard optimization sequnece.
|
Constructor and Description |
---|
Optimize() |
Modifier and Type | Method and Description |
---|---|
static Op |
apply(Transform transform,
Op op)
|
static void |
basicOptimizer()
Set the global optimizer factory to one that only does property functions and scoped variables.
|
static RewriteFactory |
getFactory()
Get the global factory for making optimizers
|
static void |
noOptimizer()
Set the global optimizer factory to one that does nothing.
|
static Op |
optimize(Op op,
Context context)
Optimize based on all options
|
static Op |
optimize(Op op,
ExecutionContext execCxt) |
static void |
setFactory(RewriteFactory aFactory)
Globally set the factory for making optimizers
|
public static RewriteFactory noOptimizationFactory
public static RewriteFactory minimalOptimizationFactory
public static RewriteFactory stdOptimizationFactory
public static Op optimize(Op op, ExecutionContext execCxt)
public static void noOptimizer()
basicOptimizer()
public static void basicOptimizer()
minimalOptimizationFactory
public static void setFactory(RewriteFactory aFactory)
public static RewriteFactory getFactory()
Licenced under the Apache License, Version 2.0