No need for that anymore
[fw/sdcc] / src / SDCCopt.c
index 25ca302e7583af2e80a0b09587b9cba3fa6578c7..fd7fadc6a321a1b0fc9369517e229f1415042f4d 100644 (file)
@@ -830,7 +830,7 @@ eBBlockFromiCode (iCode * ic)
     dumpEbbsToFileExt (DUMP_RAW1, ebbs, count);
 
   /* do common subexpression elimination for each block */
-  change = cseAllBlocks (ebbs, saveCount);
+  change = cseAllBlocks (ebbs, saveCount, FALSE);
 
   /* dumpraw if asked for */
   if (options.dump_raw)
@@ -846,10 +846,15 @@ eBBlockFromiCode (iCode * ic)
   /* global common subexpression elimination  */
   if (optimize.global_cse)
     {
-      change += cseAllBlocks (ebbs, saveCount);
+      change += cseAllBlocks (ebbs, saveCount, FALSE);
       if (options.dump_gcse)
        dumpEbbsToFileExt (DUMP_GCSE, ebbs, saveCount);
     }
+  else
+    {
+      // compute the dataflow only
+      assert(cseAllBlocks (ebbs, saveCount, TRUE)==0);
+    }
   /* kill dead code */
   kchange = killDeadCode (ebbs, saveCount);
 
@@ -871,7 +876,7 @@ eBBlockFromiCode (iCode * ic)
   if (lchange || kchange)
     {
       computeDataFlow (ebbs, saveCount);
-      change += cseAllBlocks (ebbs, saveCount);
+      change += cseAllBlocks (ebbs, saveCount, FALSE);
       if (options.dump_loop)
        dumpEbbsToFileExt (DUMP_LOOPG, ebbs, count);
 
@@ -934,8 +939,6 @@ eBBlockFromiCode (iCode * ic)
   setToNull ((void **) &graphEdges);
   ebbs = NULL;
   
-  currFunc=NULL;
-
   return NULL;
 }