Changeset: d3d21b37c9df for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d3d21b37c9df
Removed Files:
monetdb5/optimizer/opt_jit.c
monetdb5/optimizer/opt_jit.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 JIT optimizer.
diffs (253 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
@@ -48274,16 +48274,6 @@ pattern optimizer.inline(X_0:str, X_1:st
OPTwrapper;
Expand inline functions
optimizer
-jit
-pattern optimizer.jit():str
-OPTwrapper;
-(empty)
-optimizer
-jit
-pattern optimizer.jit(X_0:str, X_1:str):str
-OPTwrapper;
-Propagate candidate lists in just-in-time optimization
-optimizer
json
pattern optimizer.json():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
@@ -36704,16 +36704,6 @@ pattern optimizer.inline(X_0:str, X_1:st
OPTwrapper;
Expand inline functions
optimizer
-jit
-pattern optimizer.jit():str
-OPTwrapper;
-(empty)
-optimizer
-jit
-pattern optimizer.jit(X_0:str, X_1:str):str
-OPTwrapper;
-Propagate candidate lists in just-in-time optimization
-optimizer
json
pattern optimizer.json():str
OPTwrapper;
diff --git a/monetdb5/optimizer/CMakeLists.txt
b/monetdb5/optimizer/CMakeLists.txt
--- a/monetdb5/optimizer/CMakeLists.txt
+++ b/monetdb5/optimizer/CMakeLists.txt
@@ -29,7 +29,6 @@ target_sources(optimizer
opt_generator.c opt_generator.h
opt_querylog.c opt_querylog.h
opt_inline.c opt_inline.h
- opt_jit.c opt_jit.h
opt_projectionpath.c opt_projectionpath.h
opt_macro.c opt_macro.h
opt_matpack.c opt_matpack.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
@@ -25,7 +25,6 @@
#include "opt_garbageCollector.h"
#include "opt_generator.h"
#include "opt_inline.h"
-#include "opt_jit.h"
#include "opt_projectionpath.h"
#include "opt_matpack.h"
#include "opt_json.h"
@@ -134,7 +133,6 @@ OPTdefaultfastImplementation(Client cntx
optcall(profilerStatus, OPTcandidatesImplementation);
optcall(true, OPTdeadcodeImplementation);
optcall(true, OPTpostfixImplementation);
- // optcall(true, OPTjitImplementation);
optcall(true, OPTgarbageCollectorImplementation);
/* Defense line against incorrect plans handled by optimizer steps */
diff --git a/monetdb5/optimizer/opt_jit.c b/monetdb5/optimizer/opt_jit.c
deleted file mode 100644
--- a/monetdb5/optimizer/opt_jit.c
+++ /dev/null
@@ -1,82 +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.
- */
-
-/* author M.Kersten
- * This optimizer can be used for JIT optimization and moves
- * candidate lists into MAL operations where possible.
- * It should be ran after the candidates optimizer.
- * Specific snippets to be replaced
- * C_1:bat[:oid] := sql.tid(X_0,"sys","t");
- * X_4:bat[:int] := sql.bind(X_0,"sys","t","i",0);
- * X_13 := algebra.projection(C_1,X_4);
- * projection can be avoided
- *
- * A candidate list can be pushed into the calculations
- */
-#include "monetdb_config.h"
-#include "mal_builder.h"
-#include "opt_jit.h"
-
-str
-OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
-{
- int i, actions = 0;
- int limit = mb->stop, slimit = mb->ssize;
- InstrPtr p, q, *old = mb->stmt;
- str msg = MAL_SUCCEED;
-
- (void) stk;
- (void) cntxt;
-
- setVariableScope(mb);
- if ( newMalBlkStmt(mb, mb->ssize) < 0)
- throw(MAL,"optimizer.jit", SQLSTATE(HY013) MAL_MALLOC_FAIL);
-
- /* peephole optimization */
- for (i = 0; i < limit; i++) {
- p = old[i];
-
- if (p->token == ENDsymbol){
- for(; i<limit; i++)
- if (old[i])
- pushInstruction(mb,old[i]);
- break;
- }
- /* case 1
- * X_527 := algebra.projection(C_353, X_329);
- * X_535 := batcalc.-(100:lng, X_527);
- */
- if( getModuleId(p) == batcalcRef && *getFunctionId(p) == '-' &&
p->argc == 3 && isVarConstant(mb, getArg(p,1)) ){
- q= getInstrPtr(mb, getVar(mb,getArg(p,2))->updated);
- if ( q == 0)
- q= getInstrPtr(mb,
getVar(mb,getArg(p,2))->declared);
- if( q && getArg(q,0) == getArg(p,2) && getModuleId(q)
== algebraRef && getFunctionId(q) == projectionRef ){
- getArg(p,2)= getArg(q,2);
- p= pushArgument(mb, p, getArg(q,1));
- actions++;
- }
- }
- pushInstruction(mb,p);
- }
- for(; i< slimit; i++)
- if( old[i])
- pushInstruction(mb, old[i]);
-
- GDKfree(old);
- /* Defense line against incorrect plans */
- msg = chkTypes(cntxt->usermodule, mb, FALSE);
- if (!msg)
- msg = chkFlow(mb);
- if (!msg)
- msg = chkDeclarations(mb);
- /* keep actions taken as a fake argument*/
- (void) pushInt(mb, pci, actions);
- return msg;
-}
diff --git a/monetdb5/optimizer/opt_jit.h b/monetdb5/optimizer/opt_jit.h
deleted file mode 100644
--- a/monetdb5/optimizer/opt_jit.h
+++ /dev/null
@@ -1,18 +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 _MAL_JIT_
-#define _MAL_JIT_
-#include "opt_prelude.h"
-#include "opt_support.h"
-
-extern str OPTjitImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
-
-#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
@@ -114,7 +114,6 @@ static struct PIPELINES {
"optimizer.candidates();"
"optimizer.deadcode();"
"optimizer.postfix();"
-// "optimizer.jit();" awaiting the new batcalc api
"optimizer.garbageCollector();"
"optimizer.profiler();",
"stable", NULL, 1},
@@ -147,7 +146,6 @@ static struct PIPELINES {
"optimizer.candidates();"
"optimizer.deadcode();"
"optimizer.postfix();"
-// "optimizer.jit();" awaiting the new batcalc api
"optimizer.garbageCollector();"
"optimizer.profiler();",
"stable", NULL, 1},
@@ -188,7 +186,6 @@ static struct PIPELINES {
"optimizer.candidates();"
"optimizer.deadcode();"
"optimizer.postfix();"
-// "optimizer.jit();" awaiting the new batcalc api
"optimizer.garbageCollector();"
"optimizer.profiler();",
"stable", NULL, 1},
@@ -229,7 +226,6 @@ static struct PIPELINES {
"optimizer.candidates();"
"optimizer.deadcode();"
"optimizer.postfix();"
-// "optimizer.jit();" awaiting the new batcalc api
"optimizer.garbageCollector();"
"optimizer.profiler();",
"stable", NULL, 1},
@@ -270,7 +266,6 @@ static struct PIPELINES {
"optimizer.candidates();"
"optimizer.deadcode();"
"optimizer.postfix();"
-// "optimizer.jit();" awaiting the new batcalc api
"optimizer.garbageCollector();"
"optimizer.profiler();",
"stable", NULL, 1},
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
@@ -35,7 +35,6 @@
#include "opt_garbageCollector.h"
#include "opt_generator.h"
#include "opt_inline.h"
-#include "opt_jit.h"
#include "opt_projectionpath.h"
#include "opt_matpack.h"
#include "opt_json.h"
@@ -80,7 +79,6 @@ static struct {
{"garbageCollector", &OPTgarbageCollectorImplementation,0,0},
{"generator", &OPTgeneratorImplementation,0,0},
{"inline", &OPTinlineImplementation,0,0},
- {"jit", &OPTjitImplementation,0,0},
{"json", &OPTjsonImplementation,0,0},
{"matpack", &OPTmatpackImplementation,0,0},
{"mergetable", &OPTmergetableImplementation,0,0},
diff --git a/monetdb5/optimizer/optimizer.c b/monetdb5/optimizer/optimizer.c
--- a/monetdb5/optimizer/optimizer.c
+++ b/monetdb5/optimizer/optimizer.c
@@ -97,7 +97,6 @@ static mel_func optimizer_init_funcs[] =
optwrapper_pattern("dataflow", "Dataflow bracket code injection"),
optwrapper_pattern("deadcode", "Dead code optimizer"),
optwrapper_pattern("emptybind", "Evaluate empty set expressions"),
- optwrapper_pattern("jit", "Propagate candidate lists in just-in-time
optimization"),
optwrapper_pattern("evaluate", "Evaluate constant expressions once"),
optwrapper_pattern("garbageCollector", "Garbage collector optimizer"),
optwrapper_pattern("generator", "Sequence generator optimizer"),
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]