Changeset: e8b0a08a2de9 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e8b0a08a2de9
Modified Files:
monetdb5/optimizer/opt_dataflow.mx
Branch: default
Log Message:
Relax side-effect test
Also make sure that a dataflow block is generated for trivial programs too.
diffs (27 lines):
diff --git a/monetdb5/optimizer/opt_dataflow.mx
b/monetdb5/optimizer/opt_dataflow.mx
--- a/monetdb5/optimizer/opt_dataflow.mx
+++ b/monetdb5/optimizer/opt_dataflow.mx
@@ -186,7 +186,7 @@
if (p->token == ENDsymbol)
break;
- if (hasSideEffects(p,TRUE) || isUnsafeFunction(p) ||
blockCntrl(p) || (!dumbcopy && blockExit(p)) || (getModuleId(p) == sqlRef &&
isUpdateInstruction(p)) || dflowAssignTest(span,p,i) ){
+ if (hasSideEffects(p,FALSE) || isUnsafeFunction(p) ||
blockCntrl(p) || (!dumbcopy && blockExit(p)) || (getModuleId(p) == sqlRef &&
isUpdateInstruction(p)) || dflowAssignTest(span,p,i) ){
@:flowblock@
pushInstruction(mb,p);
continue;
@@ -226,13 +226,7 @@
if (cnt && cnt == p->argc-p->retc)
entries++;
}
- if (flowblock){
- for( j=start ; j<i; j++){
- if (old[j] == NULL)
- continue;
- pushInstruction(mb,old[j]);
- }
- }
+ @:flowblock@
/* take the remainder as is */
for (; i<limit; i++)
if (old[i])
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list