accepts --xram-size 0 (no ext ram)
[fw/sdcc] / src / SDCCBBlock.c
index 4e56f141a62e38a0fcad64348f575e9c87d4d7bf..9b809bed9cfbaca434bc1752508f9e7191917a96 100644 (file)
@@ -102,7 +102,7 @@ FILE *appendDumpFile (int id) {
 
   if (!dumpFilesPtr->filePtr) {
     // not used before, create it
-    strcpy (scratchFileName, srcFileName);
+    strcpy (scratchFileName, dstFileName);
     strcat (scratchFileName, dumpFilesPtr->ext);
     if (!(dumpFilesPtr->filePtr = fopen (scratchFileName, "w"))) {
       werror (E_FILE_OPEN_ERR, scratchFileName);
@@ -141,7 +141,9 @@ dumpLiveRanges (int id, hTab * liveRanges)
   } else {
     file = stdout;
   }
-
+  
+  if (currFunc) 
+      fprintf(file,"------------- Func %s -------------\n",currFunc->name);
   for (sym = hTabFirstItem (liveRanges, &k); sym;
        sym = hTabNextItem (liveRanges, &k))
     {
@@ -160,7 +162,8 @@ dumpLiveRanges (int id, hTab * liveRanges)
        {
          fprintf (file, "}{ sir@ %s", sym->usl.spillLoc->rname);
        }
-      fprintf (file, "}");
+      fprintf (file, "} clashes with ");
+      bitVectDebugOn(sym->clashes,file);
       fprintf (file, "\n");
     }
 
@@ -196,6 +199,10 @@ dumpEbbsToFileExt (int id, eBBlock ** ebbs, int count)
       bitVectDebugOn (ebbs[i]->ldefs, of);
       fprintf (of, "\npointers Set bitvector :");
       bitVectDebugOn (ebbs[i]->ptrsSet, of);
+      if (ebbs[i]->isLastInLoop) {
+             fprintf (of, "\nInductions Set bitvector :");
+             bitVectDebugOn (ebbs[i]->linds, of);
+      }
       fprintf (of, "\n----------------------------------------------------------------\n");
       printiCChain (ebbs[i]->sch, of);
     }
@@ -555,7 +562,7 @@ replaceSymBySym (set * sset, operand * src, operand * dest)
            {
              bitVectUnSetBit (OP_USES (IC_COND (ic)), ic->key);
              IC_COND (ic) = operandFromOperand (dest);
-             OP_USES (dest) = bitVectSetBit (OP_USES (dest), ic->key);
+             OP_USES_SET ((dest), bitVectSetBit (OP_USES (dest), ic->key));
              continue;
            }
 
@@ -564,7 +571,7 @@ replaceSymBySym (set * sset, operand * src, operand * dest)
              bitVectUnSetBit (OP_USES (IC_RIGHT (ic)), ic->key);
              IC_RIGHT (ic) = operandFromOperand (dest);
              IC_RIGHT (ic)->isaddr = 0;
-             OP_USES (dest) = bitVectSetBit (OP_USES (dest), ic->key);
+             OP_USES_SET ((dest), bitVectSetBit (OP_USES (dest), ic->key));
            }
 
          if (isOperandEqual (IC_LEFT (ic), src))
@@ -580,7 +587,7 @@ replaceSymBySym (set * sset, operand * src, operand * dest)
                  IC_LEFT (ic) = operandFromOperand (dest);
                  IC_LEFT (ic)->isaddr = 0;
                }
-             OP_USES (dest) = bitVectSetBit (OP_USES (dest), ic->key);
+             OP_USES_SET ((dest), bitVectSetBit (OP_USES (dest), ic->key));
            }
 
          /* special case for pointer sets */
@@ -590,7 +597,7 @@ replaceSymBySym (set * sset, operand * src, operand * dest)
              bitVectUnSetBit (OP_USES (IC_RESULT (ic)), ic->key);
              IC_RESULT (ic) = operandFromOperand (dest);
              IC_RESULT (ic)->isaddr = 1;
-             OP_USES (dest) = bitVectSetBit (OP_USES (dest), ic->key);
+             OP_USES_SET ((dest), bitVectSetBit (OP_USES (dest), ic->key));
            }
        }
     }