Changeset: ddd6173a3338 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ddd6173a3338
Modified Files:
MonetDB5/src/optimizer/opt_tarantula.mx
Branch: default
Log Message:
Remove deadcode from mergetable
Mergetable leaves some dead code, that may cause unnecessary
code to be produced.
diffs (37 lines):
diff -r 00618b7b02aa -r ddd6173a3338 MonetDB5/src/optimizer/opt_tarantula.mx
--- a/MonetDB5/src/optimizer/opt_tarantula.mx Sat Oct 23 20:16:26 2010 +0200
+++ b/MonetDB5/src/optimizer/opt_tarantula.mx Sun Oct 24 10:00:14 2010 +0200
@@ -931,8 +931,14 @@
int otop[MAXSLICES], output[MAXSLICES][MAXSHARE];
InstrPtr *list;
int *needed;
- char *done;
+ char *done, *msg= MAL_SUCCEED;
+ /* merge table may leave some mat.new() dead code */
+ msg = OPTdeadcode(cntxt, mb, stk, 0);
+ if ( msg){
+ GDKfree(msg);
+ return 0;
+ }
if( cntxt == 0){
/* confuscate, delay for later activation */
TARinitcode(cntxt, mb);
@@ -963,6 +969,8 @@
level= (int*) GDKzalloc(VTOP * vtop * sizeof(int));
for (i = limit; i >=0 ; i--) {
p = old[i];
+ if ( p == 0)
+ continue;
if( getModuleId(p)== matRef && getFunctionId(p)== packRef)
lev=i;
if ( getModuleId(p) != sqlRef){
@@ -992,6 +1000,8 @@
for (i = 1; i < limit; i++) {
p = old[i];
+ if ( p == 0)
+ continue;
if ( p == pci){
freeInstruction(pci);
old[i]= 0;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list