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

Reply via email to