Changeset: 47bc5f3f4b27 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/47bc5f3f4b27 Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test clients/Tests/exports.stable.out Branch: txtsim Log Message:
Merge with default. diffs (truncated from 945 to 300 lines): diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -48304,16 +48304,6 @@ pattern optimizer.deadcode(X_0:str, X_1: OPTwrapper; Dead code optimizer optimizer -default_fast -function optimizer.default_fast():void; -(empty) -(empty) -optimizer -default_pipe -function optimizer.default_pipe():void; -(empty) -(empty) -optimizer defaultfast pattern optimizer.defaultfast():str OPTwrapper; @@ -48429,16 +48419,6 @@ pattern optimizer.mergetable(X_0:str, X_ OPTwrapper; Resolve the multi-table definitions optimizer -minimal_fast -function optimizer.minimal_fast():void; -(empty) -(empty) -optimizer -minimal_pipe -function optimizer.minimal_pipe():void; -(empty) -(empty) -optimizer minimalfast pattern optimizer.minimalfast():str OPTwrapper; @@ -48469,11 +48449,6 @@ pattern optimizer.multiplex(X_0:str, X_1 OPTwrapper; Compiler for multiplexed instructions optimizer -no_mitosis_pipe -function optimizer.no_mitosis_pipe():void; -(empty) -(empty) -optimizer optimize pattern optimizer.optimize(X_0:str, X_1:str):void QOToptimize; @@ -48579,11 +48554,6 @@ pattern optimizer.reorder(X_0:str, X_1:s OPTwrapper; Reorder by dataflow dependencies optimizer -sequential_pipe -function optimizer.sequential_pipe():void; -(empty) -(empty) -optimizer strimps pattern optimizer.strimps():str OPTwrapper; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -36734,16 +36734,6 @@ pattern optimizer.deadcode(X_0:str, X_1: OPTwrapper; Dead code optimizer optimizer -default_fast -function optimizer.default_fast():void; -(empty) -(empty) -optimizer -default_pipe -function optimizer.default_pipe():void; -(empty) -(empty) -optimizer defaultfast pattern optimizer.defaultfast():str OPTwrapper; @@ -36859,16 +36849,6 @@ pattern optimizer.mergetable(X_0:str, X_ OPTwrapper; Resolve the multi-table definitions optimizer -minimal_fast -function optimizer.minimal_fast():void; -(empty) -(empty) -optimizer -minimal_pipe -function optimizer.minimal_pipe():void; -(empty) -(empty) -optimizer minimalfast pattern optimizer.minimalfast():str OPTwrapper; @@ -36899,11 +36879,6 @@ pattern optimizer.multiplex(X_0:str, X_1 OPTwrapper; Compiler for multiplexed instructions optimizer -no_mitosis_pipe -function optimizer.no_mitosis_pipe():void; -(empty) -(empty) -optimizer optimize pattern optimizer.optimize(X_0:str, X_1:str):void QOToptimize; @@ -37009,11 +36984,6 @@ pattern optimizer.reorder(X_0:str, X_1:s OPTwrapper; Reorder by dataflow dependencies optimizer -sequential_pipe -function optimizer.sequential_pipe():void; -(empty) -(empty) -optimizer strimps pattern optimizer.strimps():str OPTwrapper; diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1002,7 +1002,7 @@ const char *ioRef; bool isExceptionVariable(const char *nme); int isIdentifier(str s); int isLoopBarrier(MalBlkPtr mb, int pc); -int isOptimizerPipe(const char *name); +bool isOptimizerPipe(const char *name); const char *iteratorRef; const char *joinRef; const char *jsonRef; diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c --- a/monetdb5/optimizer/opt_pipes.c +++ b/monetdb5/optimizer/opt_pipes.c @@ -32,12 +32,11 @@ #define MAXOPTPIPES 64 -static struct PIPELINES { +static struct pipeline { char *name; - char *def; - char *status; - MalBlkPtr mb; - char builtin; + const char *status; /* "stable" or "experimental" */ + char **def; /* NULL terminated list of optimizers */ + bool builtin; } pipes[MAXOPTPIPES] = { /* The minimal pipeline necessary by the server to operate correctly * @@ -46,65 +45,80 @@ static struct PIPELINES { * (see tools/mserver/mserver5.1) accordingly! */ {"minimal_pipe", - "optimizer.inline();" - "optimizer.remap();" - "optimizer.emptybind();" - "optimizer.deadcode();" - "optimizer.for();" - "optimizer.dict();" - "optimizer.multiplex();" - "optimizer.generator();" - //"optimizer.candidates();" only for decoration in explain - "optimizer.garbageCollector();" - "optimizer.profiler();", - "stable", NULL, 1}, + "stable", + (char *[]) { + "inline", + "remap", + "emptybind", + "deadcode", + "for", + "dict", + "multiplex", + "generator", + "garbageCollector", + "profiler", + NULL, + }, + true, + }, {"minimal_fast", - "optimizer.minimalfast()", - "stable", NULL, 1}, -/* The default pipe line contains as of Feb2010 - * mitosis-mergetable-reorder, aimed at large tables and improved - * access locality. - * - * NOTE: - * If you change the default pipe, please also update the no_mitosis pipe - * and sequential pipe (see below, as well as the man page (see + "stable", + (char *[]) { + "minimalfast", + NULL, + }, + true, + }, +/* NOTE: + * If you change the default pipe, please also update the no_mitosis + * pipe and sequential pipe (see below, as well as the man page (see * tools/mserver/mserver5.1) accordingly! */ {"default_pipe", - "optimizer.inline();" - "optimizer.remap();" - "optimizer.costModel();" - "optimizer.coercions();" - "optimizer.aliases();" - "optimizer.evaluate();" - "optimizer.emptybind();" - "optimizer.deadcode();" /* Feb2021 update, I pushed deadcode optimizer earlier in the pipeline so it runs before mitosis, thus removing less instructions */ - "optimizer.pushselect();" - "optimizer.aliases();" - "optimizer.for();" - "optimizer.dict();" - "optimizer.mitosis();" - "optimizer.mergetable();" - "optimizer.aliases();" - "optimizer.constants();" - "optimizer.commonTerms();" - "optimizer.projectionpath();" - "optimizer.deadcode();" - "optimizer.matpack();" - "optimizer.reorder();" - "optimizer.dataflow();" - "optimizer.querylog();" - "optimizer.multiplex();" - "optimizer.generator();" - "optimizer.candidates();" - "optimizer.deadcode();" - "optimizer.postfix();" - "optimizer.garbageCollector();" - "optimizer.profiler();", - "stable", NULL, 1}, + "stable", + (char *[]) { + "inline", + "remap", + "costModel", + "coercions", + "aliases", + "evaluate", + "emptybind", + "deadcode", + "pushselect", + "aliases", + "for", + "dict", + "mitosis", + "mergetable", + "aliases", + "constants", + "commonTerms", + "projectionpath", + "deadcode", + "matpack", + "reorder", + "dataflow", + "querylog", + "multiplex", + "generator", + "candidates", + "deadcode", + "postfix", + "garbageCollector", + "profiler", + NULL, + }, + true, + }, {"default_fast", - "optimizer.defaultfast()", - "stable", NULL, 1}, + "stable", + (char *[]) { + "defaultfast", + NULL, + }, + true, + }, /* The no_mitosis pipe line is (and should be kept!) identical to the * default pipeline, except that optimizer mitosis is omitted. It is * used mainly to make some tests work deterministically, and to check @@ -116,38 +130,43 @@ static struct PIPELINES { * (see tools/mserver/mserver5.1) accordingly! */ {"no_mitosis_pipe", - "optimizer.inline();" - "optimizer.remap();" - "optimizer.costModel();" - "optimizer.coercions();" - "optimizer.aliases();" - "optimizer.evaluate();" - "optimizer.emptybind();" _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org