Changeset: 96cd8fb0ed70 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/96cd8fb0ed70 Removed Files: monetdb5/optimizer/opt_mask.c monetdb5/optimizer/opt_mask.h Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test monetdb5/optimizer/CMakeLists.txt monetdb5/optimizer/opt_fastpath.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_wrapper.c monetdb5/optimizer/optimizer.c Branch: default Log Message:
Removed unused mask optimizer. diffs (297 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.macro(X_0:str, X_1:str OPTmacro; Inline a target function used in a specific function. optimizer -mask -pattern optimizer.mask():str -OPTwrapper; -(empty) -optimizer -mask -pattern optimizer.mask(X_0:str, X_1:str):str -OPTwrapper; -Manipulate the MSK objects -optimizer matpack pattern optimizer.matpack():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.macro(X_0:str, X_1:str OPTmacro; Inline a target function used in a specific function. optimizer -mask -pattern optimizer.mask():str -OPTwrapper; -(empty) -optimizer -mask -pattern optimizer.mask(X_0:str, X_1:str):str -OPTwrapper; -Manipulate the MSK objects -optimizer matpack pattern optimizer.matpack():str OPTwrapper; diff --git a/monetdb5/optimizer/CMakeLists.txt b/monetdb5/optimizer/CMakeLists.txt --- a/monetdb5/optimizer/CMakeLists.txt +++ b/monetdb5/optimizer/CMakeLists.txt @@ -32,7 +32,6 @@ target_sources(optimizer opt_jit.c opt_jit.h opt_projectionpath.c opt_projectionpath.h opt_macro.c opt_macro.h - opt_mask.c opt_mask.h opt_matpack.c opt_matpack.h opt_json.c opt_json.h opt_mergetable.c opt_mergetable.h diff --git a/monetdb5/optimizer/opt_fastpath.c b/monetdb5/optimizer/opt_fastpath.c --- a/monetdb5/optimizer/opt_fastpath.c +++ b/monetdb5/optimizer/opt_fastpath.c @@ -30,7 +30,6 @@ #include "opt_matpack.h" #include "opt_json.h" #include "opt_postfix.h" -#include "opt_mask.h" #include "opt_mergetable.h" #include "opt_mitosis.h" #include "opt_multiplex.h" diff --git a/monetdb5/optimizer/opt_mask.c b/monetdb5/optimizer/opt_mask.c deleted file mode 100644 --- a/monetdb5/optimizer/opt_mask.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. - */ - -/* (c) Martin Kersten - * This optimizer injects the MSK operations to reduce footprint - */ -#include "monetdb_config.h" -#include "opt_mask.h" - -str -OPTmaskImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - int i, j, k, limit, slimit; - InstrPtr p=0, q=0, r=0, *old= NULL; - int actions = 0; - int *varused=0; - str msg= MAL_SUCCEED; - - (void) cntxt; - (void) stk; /* to fool compilers */ - - if ( mb->inlineProp ) - goto wrapup; - - varused = GDKzalloc(2 * mb->vtop * sizeof(int)); - if (varused == NULL) - goto wrapup; - - limit = mb->stop; - slimit = mb->ssize; - old = mb->stmt; - if (newMalBlkStmt(mb, mb->ssize) < 0) { - GDKfree(varused); - throw(MAL,"optimizer.mask", SQLSTATE(HY013) MAL_MALLOC_FAIL); - } - - // Consolidate the actual need for variables - for (i = 0; i < limit; i++) { - p = old[i]; - if( p == 0) - continue; //left behind by others? - for(j=0; j< p->retc; j++){ - k = getArg(p,j); - if( isaBatType(getArgType(mb, p,j)) && getBatType(getArgType(mb, p, j)) == TYPE_msk){ - // remember we have encountered a mask producing function - varused[k] = k; - } - } - for(j=p->retc; j< p->argc; j++){ - k = getArg(p,j); - if(varused[k]) { - // we should actually postpone its reconstruction to JIT - r = newInstruction(mb, maskRef, umaskRef); - if (r == NULL) { - msg = createException(MAL, "optimizer.mask", SQLSTATE(HY013) MAL_MALLOC_FAIL); - break; - } - getArg(r,0) = k; - r= pushArgument(mb, r, varused[k]); - pushInstruction(mb,r); - varused[k] = 0; - } - } - if (msg) - break; - pushInstruction(mb, p); - - if ( getModuleId(p) == algebraRef && (getFunctionId(p) == selectRef || getFunctionId(p) == thetaselectRef)){ - k= getArg(p,0); - setDestVar(p, newTmpVariable(mb, newBatType(TYPE_oid))); - setVarFixed(mb,getArg(p,0)); - - // Inject a dummy pair, just based on :oid for now and later to be switched to :msk - q = newInstruction(mb, maskRef, maskRef); - if (q == NULL) { - msg = createException(MAL, "optimizer.mask", SQLSTATE(HY013) MAL_MALLOC_FAIL); - break; - } - setDestVar(q, newTmpVariable(mb, newBatType(TYPE_msk))); - setVarFixed(mb,getArg(q,0)); - q= pushArgument(mb, q, getArg(p,0)); - pushInstruction(mb,q); - varused[k] = getArg(q,0); - actions++; - } - } - - for(; i<slimit; i++) - if( old[i]) - pushInstruction(mb, old[i]); - /* Defense line against incorrect plans */ - if( msg == MAL_SUCCEED && actions > 0){ - msg = chkTypes(cntxt->usermodule, mb, FALSE); - if (!msg) - msg = chkFlow(mb); - if (!msg) - msg = chkDeclarations(mb); - } - /* keep all actions taken as a post block comment */ -wrapup: - /* keep actions taken as a fake argument*/ - (void) pushInt(mb, pci, actions); - - if(old) GDKfree(old); - if(varused) GDKfree(varused); - return msg; -} diff --git a/monetdb5/optimizer/opt_mask.h b/monetdb5/optimizer/opt_mask.h deleted file mode 100644 --- a/monetdb5/optimizer/opt_mask.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. - */ - -#ifndef _OPT_MASK_ -#define _OPT_MASK_ -#include "opt_prelude.h" -#include "opt_support.h" -#include "mal_interpreter.h" -#include "mal_instruction.h" -#include "mal_function.h" - -extern str OPTmaskImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); - -#endif 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 @@ -55,7 +55,6 @@ static struct PIPELINES { "optimizer.multiplex();" "optimizer.generator();" //"optimizer.candidates();" only for decoration in explain - //"optimizer.mask();" "optimizer.garbageCollector();" "optimizer.profiler();", "stable", NULL, 1}, @@ -70,7 +69,6 @@ static struct PIPELINES { "optimizer.strimps();" "optimizer.generator();" //"optimizer.candidates();" only for decoration in explain - //"optimizer.mask();" "optimizer.garbageCollector();" "optimizer.profiler();", "stable", NULL, 1}, @@ -114,7 +112,6 @@ static struct PIPELINES { "optimizer.multiplex();" "optimizer.generator();" "optimizer.candidates();" - //"optimizer.mask();" "optimizer.deadcode();" "optimizer.postfix();" // "optimizer.jit();" awaiting the new batcalc api @@ -148,7 +145,6 @@ static struct PIPELINES { "optimizer.strimps();" "optimizer.generator();" "optimizer.candidates();" - //"optimizer.mask();" "optimizer.deadcode();" "optimizer.postfix();" // "optimizer.jit();" awaiting the new batcalc api @@ -190,7 +186,6 @@ static struct PIPELINES { "optimizer.generator();" "optimizer.volcano();" "optimizer.candidates();" - //"optimizer.mask();" "optimizer.deadcode();" "optimizer.postfix();" // "optimizer.jit();" awaiting the new batcalc api @@ -232,7 +227,6 @@ static struct PIPELINES { "optimizer.multiplex();" "optimizer.generator();" "optimizer.candidates();" - //"optimizer.mask();" "optimizer.deadcode();" "optimizer.postfix();" // "optimizer.jit();" awaiting the new batcalc api @@ -274,7 +268,6 @@ static struct PIPELINES { "optimizer.multiplex();" "optimizer.generator();" "optimizer.candidates();" - //"optimizer.mask();" "optimizer.deadcode();" "optimizer.postfix();" // "optimizer.jit();" awaiting the new batcalc api diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c --- a/monetdb5/optimizer/opt_wrapper.c +++ b/monetdb5/optimizer/opt_wrapper.c @@ -40,7 +40,6 @@ #include "opt_matpack.h" #include "opt_json.h" #include "opt_postfix.h" -#include "opt_mask.h" #include "opt_for.h" #include "opt_dict.h" #include "opt_mergetable.h" @@ -83,7 +82,6 @@ static struct { {"inline", &OPTinlineImplementation,0,0}, {"jit", &OPTjitImplementation,0,0}, {"json", &OPTjsonImplementation,0,0}, - {"mask", &OPTmaskImplementation,0,0}, {"matpack", &OPTmatpackImplementation,0,0}, {"mergetable", &OPTmergetableImplementation,0,0}, {"minimalfast", &OPTminimalfastImplementation,0,0}, diff --git a/monetdb5/optimizer/optimizer.c b/monetdb5/optimizer/optimizer.c --- a/monetdb5/optimizer/optimizer.c +++ b/monetdb5/optimizer/optimizer.c @@ -128,8 +128,6 @@ static mel_func optimizer_init_funcs[] = optwrapper_pattern("strimps", "Use strimps index if appropriate"), optwrapper_pattern("for", "Push for decompress down"), optwrapper_pattern("dict", "Push dict decompress down"), - pattern("optimizer", "mask", OPTwrapper, false, "", args(1,1, arg("",str))), - pattern("optimizer", "mask", OPTwrapper, false, "Manipulate the MSK objects", args(1,3, arg("",str),arg("mod",str),arg("fcn",str))), { .imp=NULL } }; #include "mal_import.h" _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org