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

Reply via email to