Optimizers
MODULE optimizer;
PATTERN optimizer.aliases():str;
COMMENT "";
PATTERN optimizer.aliases(X_0:str, X_1:str):str;
COMMENT "Alias removal optimizer";
PATTERN optimizer.candidates():str;
COMMENT "";
PATTERN optimizer.candidates(X_0:str, X_1:str):str;
COMMENT "Mark candidate list variables";
PATTERN optimizer.coercions():str;
COMMENT "";
PATTERN optimizer.coercions(X_0:str, X_1:str):str;
COMMENT "Handle simple type coercions";
PATTERN optimizer.commonTerms():str;
COMMENT "";
PATTERN optimizer.commonTerms(X_0:str, X_1:str):str;
COMMENT "Common sub-expression optimizer";
PATTERN optimizer.constants():str;
COMMENT "";
PATTERN optimizer.constants(X_0:str, X_1:str):str;
COMMENT "Duplicate constant removal optimizer";
PATTERN optimizer.costModel():str;
COMMENT "";
PATTERN optimizer.costModel(X_0:str, X_1:str):str;
COMMENT "Estimate the cost of a relational expression";
PATTERN optimizer.dataflow():str;
COMMENT "";
PATTERN optimizer.dataflow(X_0:str, X_1:str):str;
COMMENT "Dataflow bracket code injection";
PATTERN optimizer.deadcode():str;
COMMENT "";
PATTERN optimizer.deadcode(X_0:str, X_1:str):str;
COMMENT "Dead code optimizer";
PATTERN optimizer.defaultfast():str;
COMMENT "";
PATTERN optimizer.defaultfast(X_0:str, X_1:str):str;
COMMENT "Fast compound default optimizer pipe";
PATTERN optimizer.dict():str;
COMMENT "";
PATTERN optimizer.dict(X_0:str, X_1:str):str;
COMMENT "Push dict decompress down";
PATTERN optimizer.emptybind():str;
COMMENT "";
PATTERN optimizer.emptybind(X_0:str, X_1:str):str;
COMMENT "Evaluate empty set expressions";
COMMAND optimizer.epilogue():void;
COMMENT "release the resources held by the optimizer module";
PATTERN optimizer.evaluate():str;
COMMENT "";
PATTERN optimizer.evaluate(X_0:str, X_1:str):str;
COMMENT "Evaluate constant expressions once";
PATTERN optimizer.for():str;
COMMENT "";
PATTERN optimizer.for(X_0:str, X_1:str):str;
COMMENT "Push for decompress down";
PATTERN optimizer.garbageCollector():str;
COMMENT "";
PATTERN optimizer.garbageCollector(X_0:str, X_1:str):str;
COMMENT "Garbage collector optimizer";
PATTERN optimizer.generator():str;
COMMENT "";
PATTERN optimizer.generator(X_0:str, X_1:str):str;
COMMENT "Sequence generator optimizer";
PATTERN optimizer.inline():str;
COMMENT "";
PATTERN optimizer.inline(X_0:str, X_1:str):str;
COMMENT "Expand inline functions";
PATTERN optimizer.macro(X_0:str, X_1:str):void;
COMMENT "Inline the code of the target function.";
PATTERN optimizer.macro(X_0:str, X_1:str, X_2:str, X_3:str):void;
COMMENT "Inline a target function used in a specific function.";
PATTERN optimizer.matpack():str;
COMMENT "";
PATTERN optimizer.matpack(X_0:str, X_1:str):str;
COMMENT "Unroll the mat.pack operation";
PATTERN optimizer.mergetable():str;
COMMENT "";
PATTERN optimizer.mergetable(X_0:str, X_1:str):str;
COMMENT "Resolve the multi-table definitions";
PATTERN optimizer.minimalfast():str;
COMMENT "";
PATTERN optimizer.minimalfast(X_0:str, X_1:str):str;
COMMENT "Fast compound minimal optimizer pipe";
PATTERN optimizer.mitosis():str;
COMMENT "";
PATTERN optimizer.mitosis(X_0:str, X_1:str):str;
COMMENT "Modify the plan to exploit parallel processing on multiple cores";
PATTERN optimizer.multiplex():str;
COMMENT "";
PATTERN optimizer.multiplex(X_0:str, X_1:str):str;
COMMENT "Compiler for multiplexed instructions";
PATTERN optimizer.optimize(X_0:str, X_1:str):void;
COMMENT "Optimize a specific operation";
PATTERN optimizer.orcam(X_0:str, X_1:str):void;
COMMENT "Inverse macro processor for current function";
PATTERN optimizer.orcam(X_0:str, X_1:str, X_2:str, X_3:str):void;
COMMENT "Inverse macro, find pattern and replace with a function call.";
PATTERN optimizer.postfix():str;
COMMENT "";
PATTERN optimizer.postfix(X_0:str, X_1:str):str;
COMMENT "Postfix the plan,e.g. pushing projections";
PATTERN optimizer.profiler():str;
COMMENT "";
PATTERN optimizer.profiler(X_0:str, X_1:str):str;
COMMENT "Collect properties for the profiler";
PATTERN optimizer.projectionpath():str;
COMMENT "";
PATTERN optimizer.projectionpath(X_0:str, X_1:str):str;
COMMENT "Join path constructor";
PATTERN optimizer.pushselect():str;
COMMENT "";
PATTERN optimizer.pushselect(X_0:str, X_1:str):str;
COMMENT "Push selects down projections";
PATTERN optimizer.querylog():str;
COMMENT "";
PATTERN optimizer.querylog(X_0:str, X_1:str):str;
COMMENT "Collect SQL query statistics";
PATTERN optimizer.reduce():str;
COMMENT "";
PATTERN optimizer.reduce(X_0:str, X_1:str):str;
COMMENT "Reduce the stack space claims";
PATTERN optimizer.remap():str;
COMMENT "";
PATTERN optimizer.remap(X_0:str, X_1:str):str;
COMMENT "Remapping function calls to a their multiplex variant";
PATTERN optimizer.remoteQueries():str;
COMMENT "";
PATTERN optimizer.remoteQueries(X_0:str, X_1:str):str;
COMMENT "Resolve the multi-table definitions";
PATTERN optimizer.reorder():str;
COMMENT "";
PATTERN optimizer.reorder(X_0:str, X_1:str):str;
COMMENT "Reorder by dataflow dependencies";
PATTERN optimizer.strimps():str;
COMMENT "";
PATTERN optimizer.strimps(X_0:str, X_1:str):str;
COMMENT "Use strimps index if appropriate";
PATTERN optimizer.wrapper():str;
COMMENT "";
PATTERN optimizer.wrapper(X_0:str, X_1:str):str;
COMMENT "Fake optimizer";