Changeset: 7f20c97e8ce3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7f20c97e8ce3
Added Files:
monetdb5/optimizer/opt_accumulators.c
monetdb5/optimizer/opt_accumulators.h
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_aliases.h
monetdb5/optimizer/opt_centipede.c
monetdb5/optimizer/opt_centipede.h
monetdb5/optimizer/opt_cluster.c
monetdb5/optimizer/opt_cluster.h
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_coercion.h
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_commonTerms.h
monetdb5/optimizer/opt_compression.c
monetdb5/optimizer/opt_compression.h
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_constants.h
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_costModel.h
monetdb5/optimizer/opt_datacyclotron.c
monetdb5/optimizer/opt_datacyclotron.h
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_dataflow.h
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_deadcode.h
monetdb5/optimizer/opt_dictionary.c
monetdb5/optimizer/opt_dictionary.h
monetdb5/optimizer/opt_emptySet.c
monetdb5/optimizer/opt_emptySet.h
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_evaluate.h
monetdb5/optimizer/opt_factorize.c
monetdb5/optimizer/opt_factorize.h
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_garbageCollector.h
monetdb5/optimizer/opt_groups.c
monetdb5/optimizer/opt_groups.h
monetdb5/optimizer/opt_history.c
monetdb5/optimizer/opt_history.h
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_inline.h
monetdb5/optimizer/opt_joinpath.c
monetdb5/optimizer/opt_joinpath.h
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_macro.h
monetdb5/optimizer/opt_mapreduce.c
monetdb5/optimizer/opt_mapreduce.h
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mergetable.h
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_mitosis.h
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_multiplex.h
monetdb5/optimizer/opt_octopus.c
monetdb5/optimizer/opt_octopus.h
monetdb5/optimizer/opt_origin.c
monetdb5/optimizer/opt_origin.h
monetdb5/optimizer/opt_prejoin.c
monetdb5/optimizer/opt_prejoin.h
monetdb5/optimizer/opt_pushranges.c
monetdb5/optimizer/opt_pushranges.h
monetdb5/optimizer/opt_qep.c
monetdb5/optimizer/opt_qep.h
monetdb5/optimizer/opt_recycler.c
monetdb5/optimizer/opt_recycler.h
monetdb5/optimizer/opt_reduce.c
monetdb5/optimizer/opt_reduce.h
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remap.h
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_remoteQueries.h
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_reorder.h
monetdb5/optimizer/opt_singleton.c
monetdb5/optimizer/opt_singleton.h
monetdb5/optimizer/opt_strengthReduction.c
monetdb5/optimizer/opt_strengthReduction.h
monetdb5/optimizer/opt_trace.c
monetdb5/optimizer/opt_trace.h
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.c
monetdb5/optimizer/optimizer.h
monetdb5/optimizer/optimizer.mal
Removed Files:
monetdb5/optimizer/Tests/PHexample.mal
monetdb5/optimizer/Tests/PHexample.stable.err
monetdb5/optimizer/Tests/PHexample.stable.out
monetdb5/optimizer/Tests/tst4015.mal
monetdb5/optimizer/Tests/tst4015.stable.err
monetdb5/optimizer/Tests/tst4015.stable.out
monetdb5/optimizer/opt_accumulators.mx
monetdb5/optimizer/opt_aliases.mx
monetdb5/optimizer/opt_centipede.mx
monetdb5/optimizer/opt_cluster.mx
monetdb5/optimizer/opt_coercion.mx
monetdb5/optimizer/opt_commonTerms.mx
monetdb5/optimizer/opt_compression.mx
monetdb5/optimizer/opt_constants.mx
monetdb5/optimizer/opt_costModel.mx
monetdb5/optimizer/opt_datacyclotron.mx
monetdb5/optimizer/opt_dataflow.mx
monetdb5/optimizer/opt_deadcode.mx
monetdb5/optimizer/opt_dictionary.mx
monetdb5/optimizer/opt_emptySet.mx
monetdb5/optimizer/opt_evaluate.mx
monetdb5/optimizer/opt_factorize.mx
monetdb5/optimizer/opt_garbageCollector.mx
monetdb5/optimizer/opt_groups.mx
monetdb5/optimizer/opt_heuristics.mx
monetdb5/optimizer/opt_history.mx
monetdb5/optimizer/opt_inline.mx
monetdb5/optimizer/opt_joinpath.mx
monetdb5/optimizer/opt_macro.mx
monetdb5/optimizer/opt_mapreduce.mx
monetdb5/optimizer/opt_mergetable.mx
monetdb5/optimizer/opt_mitosis.mx
monetdb5/optimizer/opt_multiplex.mx
monetdb5/optimizer/opt_octopus.mx
monetdb5/optimizer/opt_origin.mx
monetdb5/optimizer/opt_peephole.mx
monetdb5/optimizer/opt_prejoin.mx
monetdb5/optimizer/opt_pushranges.mx
monetdb5/optimizer/opt_qep.mx
monetdb5/optimizer/opt_recycler.mx
monetdb5/optimizer/opt_reduce.mx
monetdb5/optimizer/opt_remap.mx
monetdb5/optimizer/opt_remoteQueries.mx
monetdb5/optimizer/opt_reorder.mx
monetdb5/optimizer/opt_replication.mx
monetdb5/optimizer/opt_singleton.mx
monetdb5/optimizer/opt_statistics.mal
monetdb5/optimizer/opt_strengthReduction.mx
monetdb5/optimizer/opt_support.mal
monetdb5/optimizer/opt_trace.mx
monetdb5/optimizer/optimizer.mx
Modified Files:
monetdb5/mal/mal_function.c
monetdb5/mal/mal_instruction.c
monetdb5/modules/mal/mal_init.mal
monetdb5/optimizer/Makefile.ag
monetdb5/optimizer/Tests/All
monetdb5/optimizer/Tests/tst4631.stable.out
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_support.c
Branch: default
Log Message:
Optimizer de-mx step
All optimizers in monetdb have been split into its constituent files.
Documentation already on the web has been removed.
A few old/unused optimizers have been removed.
diffs (truncated from 11032 to 300 lines):
diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -1055,18 +1055,9 @@ showInFlow(MalBlkPtr mb, int pc, int var
static void
showFlowDetails(MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int pc, stream *f)
{
- str s, msg;
-
+ (void) mb; /* fool the compiler */
(void) stk; /* fool the compiler */
- msg = instruction2str(mb, stk, p, LIST_MAL_DEBUG);
- mnstr_printf(f, "n%d [fontsize=8, shape=box, label=\"", pc);
- for (s = msg; *s; s++)
- if (*s == '"')
- mnstr_printf(f, "\\\"");
- else
- mnstr_printf(f, "%c", *s);
- GDKfree(msg);
- mnstr_printf(f, "\"];\n");
+ mnstr_printf(f, "n%d [fontsize=8, shape=box, label=\"%s\"]\n", pc,
getFunctionId(p));
}
/* the stethoscope needs dot files for its graphical interface.
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -534,6 +534,7 @@ removeInstruction(MalBlkPtr mb, InstrPtr
if (mb->profiler)
mb->profiler[i] = mb->profiler[i + 1];
}
+ mb->stmt[i] = 0;
mb->stop--;
assert(i == mb->stop);
diff --git a/monetdb5/modules/mal/mal_init.mal
b/monetdb5/modules/mal/mal_init.mal
--- a/monetdb5/modules/mal/mal_init.mal
+++ b/monetdb5/modules/mal/mal_init.mal
@@ -106,47 +106,6 @@ include statistics; # experimental
include sample;
include optimizer;
-include opt_support;
-include opt_accumulators;
-include opt_aliases;
-include opt_centipede;
-include opt_coercion;
-include opt_constants;
-include opt_dataflow;
-include opt_dictionary;
-include opt_deadcode;
-include opt_datacyclotron;
-include opt_compression;
-include opt_commonTerms;
-include opt_costModel;
-include opt_emptySet;
-include opt_evaluate;
-include opt_factorize;
-include opt_garbageCollector;
-include opt_inline;
-include opt_groups;
-include opt_joinpath;
-include opt_macro;
-include opt_multiplex;
-include opt_mergetable;
-include opt_mitosis;
-include opt_reorder;
-include opt_octopus;
-include opt_origin;
-include opt_peephole;
-include opt_prejoin;
-include opt_qep;
-include opt_history;
-include opt_pushranges;
-include opt_reduce;
-include opt_remap;
-include opt_recycler;
-include opt_singleton;
-include opt_strengthReduction;
-include opt_statistics;
-include opt_trace;
-include opt_mapreduce;
-include opt_remoteQueries;
include chopper;
include cluster;
diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -28,71 +28,57 @@ MTSAFE
lib_optimizer = {
NOINST
SOURCES = \
- optimizer.mx \
- opt_accumulators.mx \
- opt_aliases.mx \
- opt_cluster.mx \
- opt_coercion.mx \
- opt_commonTerms.mx \
- opt_compression.mx \
- opt_constants.mx \
- opt_costModel.mx \
- opt_datacyclotron.mx \
- opt_dataflow.mx \
- opt_deadcode.mx \
- opt_dictionary.mx \
- opt_emptySet.mx \
- opt_evaluate.mx \
- opt_factorize.mx \
- opt_garbageCollector.mx \
- opt_groups.mx \
- opt_heuristics.mx \
- opt_history.mx \
- opt_inline.mx \
- opt_joinpath.mx \
- opt_macro.mx \
- opt_mapreduce.mx \
- opt_mergetable.mx \
- opt_mitosis.mx \
- opt_multiplex.mx \
- opt_octopus.mx \
- opt_origin.mx \
- opt_peephole.mx \
- opt_pipes.c opt_pipes.h \
- opt_prejoin.mx \
+ optimizer.c \
+ opt_accumulators.c \
+ opt_aliases.c \
+ opt_cluster.c \
+ opt_coercion.c \
+ opt_commonTerms.c \
+ opt_compression.c \
+ opt_constants.c \
+ opt_costModel.c \
+ opt_datacyclotron.c \
+ opt_dataflow.c \
+ opt_deadcode.c \
+ opt_dictionary.c \
+ opt_emptySet.c \
+ opt_evaluate.c \
+ opt_factorize.c \
+ opt_garbageCollector.c \
+ opt_groups.c \
+ opt_history.c \
+ opt_inline.c \
+ opt_joinpath.c \
+ opt_macro.c \
+ opt_mapreduce.c \
+ opt_mergetable.c \
+ opt_mitosis.c \
+ opt_multiplex.c \
+ opt_octopus.c \
+ opt_origin.c \
+ opt_pipes.c \
+ opt_prejoin.c \
opt_prelude.c opt_prelude.h \
- opt_pushranges.mx \
- opt_qep.mx \
- opt_recycler.mx \
- opt_reduce.mx \
- opt_remap.mx \
- opt_remoteQueries.mx \
- opt_reorder.mx \
- opt_singleton.mx \
+ opt_pushranges.c \
+ opt_qep.c \
+ opt_recycler.c \
+ opt_reduce.c \
+ opt_remap.c \
+ opt_remoteQueries.c \
+ opt_reorder.c \
+ opt_singleton.c \
opt_statistics.c opt_statistics.h \
- opt_strengthReduction.mx \
- opt_support.c opt_support.h \
- opt_centipede.mx \
- opt_trace.mx
+ opt_strengthReduction.c \
+ opt_support.c \
+ opt_centipede.c \
+ opt_trace.c \
+ opt_wrapper.c
}
headers_mal = {
HEADERS = mal
DIR = libdir/monetdb5
- SOURCES = \
- opt_support.mal optimizer.mx opt_factorize.mx \
- opt_deadcode.mx opt_garbageCollector.mx
opt_strengthReduction.mx \
- opt_aliases.mx opt_constants.mx opt_commonTerms.mx
opt_datacyclotron.mx \
- opt_coercion.mx opt_emptySet.mx opt_peephole.mx
opt_multiplex.mx \
- opt_singleton.mx opt_costModel.mx opt_reduce.mx opt_macro.mx \
- opt_accumulators.mx opt_qep.mx opt_mergetable.mx \
- opt_remoteQueries.mx \
- opt_reorder.mx opt_prejoin.mx opt_compression.mx \
- opt_evaluate.mx opt_inline.mx opt_pushranges.mx opt_groups.mx \
- opt_joinpath.mx opt_heuristics.mx opt_remap.mx \
- opt_statistics.mal opt_trace.mx opt_recycler.mx
opt_dataflow.mx \
- opt_cluster.mx opt_dictionary.mx opt_mapreduce.mx opt_origin.mx
\
- opt_mitosis.mx opt_octopus.mx opt_centipede.mx opt_history.mx
+ SOURCES = optimizer.mal
}
EXTRA_DIST = optimizerWrapper.mx opt_statistics.mal opt_support.mal
diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All
--- a/monetdb5/optimizer/Tests/All
+++ b/monetdb5/optimizer/Tests/All
@@ -5,7 +5,6 @@ tst4003
tst4004
tst4005
tst4010
-tst4015
tst4030
tst4300
tst4600
@@ -92,7 +91,6 @@ GCexample01
CXexample
JPexample
Mexample
-PHexample
SRexample
STexample
diff --git a/monetdb5/optimizer/Tests/PHexample.mal
b/monetdb5/optimizer/Tests/PHexample.mal
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.mal
+++ /dev/null
@@ -1,10 +0,0 @@
-# testing repeatative reverse optimalisation
-r:bat[:int,:int]:= bat.new(:int,:int);
-o:= calc.oid(0@0);
-z:= algebra.markT(r,o);
-rr:= bat.reverse(z);
-s := bat.reverse(r);
-t := bat.reverse(s);
-io.print(t);
-optimizer.peephole();
-mdb.List();
diff --git a/monetdb5/optimizer/Tests/PHexample.stable.err
b/monetdb5/optimizer/Tests/PHexample.stable.err
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.stable.err
+++ /dev/null
@@ -1,12 +0,0 @@
-stderr of test 'PHexample` in directory 'optimizer` itself:
-
-
-# 20:14:00 >
-# 20:14:00 > Mtimeout -timeout 60 Mserver
"--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set
"monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB"
--set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set
mapi_port=33637 --set sql_port=44106 --set xquery_port=55157 --set
monet_prompt= --trace --dbname=mTests_src_optimizer PHexample.mal </dev/null
-# 20:14:00 >
-
-
-# 20:14:00 >
-# 20:14:00 > Done.
-# 20:14:00 >
-
diff --git a/monetdb5/optimizer/Tests/PHexample.stable.out
b/monetdb5/optimizer/Tests/PHexample.stable.out
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.stable.out
+++ /dev/null
@@ -1,43 +0,0 @@
-stdout of test 'PHexample` in directory 'optimizer` itself:
-
-
-# 23:53:03 >
-# 23:53:03 > Mtimeout -timeout 60 Mserver
"--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set
"monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB"
--set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set
"sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set
mapi_port=39352 --set sql_port=45171 --set xquery_port=52900 --set
monet_prompt= --trace --dbname=mTests_src_optimizer PHexample.mal </dev/null
-# 23:53:03 >
-
-# MonetDB server v5.9.0, based on kernel v1.27.0
-# Serving database 'mTests_src_optimizer', using 4 threads
-# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically
linked
-# Copyright (c) 1993-July 2008 CWI.
-# Copyright (c) August 2008- MonetDB B.V., all rights reserved
-# Visit http://monetdb.cwi.nl/ for further information
-# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:32348/
-function user.main():void;
-# testing repeatative reverse optimalisation
- r:bat[:int,:int] := bat.new(:int,:int);
- o := calc.oid(0@0);
- z := algebra.markT(r,o);
- rr := bat.reverse(z);
- t := r;
- io.print(t);
- mdb.List();
-end main;
-#-----------------#
-# h t # name
-# int int # type
-#-----------------#
-function user.main():void; # 0 main:void := user.main() {G}
-# testing repeatative reverse optimalisation
- r:bat[:int,:int] := bat.new(:int,:int);# 2 r:bat[:int,:int] :=
CMDBATnew(_3:int, _3:int) {G}
- o := calc.oid(0@0); # 3 o:oid := CMDvarCONVERT(_5:oid)
- z := algebra.markT(r,o); # 4 z:bat[:int,:oid] :=
ALGtmark(r:bat[:int,:int], o:oid) {G}
- rr := bat.reverse(z); # 5 rr:bat[:oid,:int] :=
BKCreverse(z:bat[:int,:oid]) {G}
- t := r; # 6 t:bat[:int,:int] :=
r:bat[:int,:int] {G}
- io.print(t); # 7 _10:void :=
IOprint_val(t:bat[:int,:int]) {G}
- mdb.List(); # 8 _12:void := MDBlistDetail()
-end main; # 9
-
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list