* src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 22 Jan 2005 01:30:33 +0000 (01:30 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 22 Jan 2005 01:30:33 +0000 (01:30 +0000)
  to fix #1106967 (pCode->seq are not set up correctly)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3644 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/pic16/pcoderegs.c

index a8006326e8b38f527fd5e223b5bde5eceb610d20..f8a3f7fbdce588f53491a7444cf74d6359548c93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-01-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
+         to fix #1106967 (pCode->seq are not set up correctly)
+
 2004-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * src/SDCCglue.c (glue): make sure code area is declared before the
index ad18f83e32c51519b195872d8327a762342d665c..844c83363e4b020e15df9c9d3c39a504138bf92f 100644 (file)
@@ -431,6 +431,7 @@ static void Remove2pcodes(pCode *pcflow, pCode *pc1, pCode *pc2, regs *reg, int
 /*-----------------------------------------------------------------*
  *
  *-----------------------------------------------------------------*/
+#if 0
 static int regUsedinRange(pCode *pc1, pCode *pc2, regs *reg)
 {
   int i=0;
@@ -465,6 +466,10 @@ static int regUsedinRange(pCode *pc1, pCode *pc2, regs *reg)
  *-----------------------------------------------------------------*/
 static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *reg, int can_free, int optimize_level)
 {
+  // pc1 and pc2 have to given in execution order -- this not guaranteed.
+  // The check on pcX->seq does not help much as (nearly) all seq's are
+  // zero at the moment...
+
   pCode *pct1, *pct2;
   regs  *reg1, *reg2;
 
@@ -665,6 +670,14 @@ static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *re
 
   return (total_registers_saved != t);
 }
+#else
+
+static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *reg, int can_free, int optimize_level)
+{
+  return 0;
+}
+
+#endif
 
 /*-----------------------------------------------------------------*
  * void pCodeRegOptimeRegUsage(pBlock *pb)