* src/SDCCopt.c (killDeadCode): restored original behaviour
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 23 Jan 2005 19:14:19 +0000 (19:14 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 23 Jan 2005 19:14:19 +0000 (19:14 +0000)
  (volatile operands might get thrown away though)

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

ChangeLog
src/SDCCopt.c

index df79fc72b6084021d6dd941c6ead7aaf4f285cb6..a8f0d5b31417fdff62f837c34dd9b30d1626866e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@
        * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
          (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
          this might fix SIGSEGVs on MinGW...
+       * src/SDCCopt.c (killDeadCode): restored original behaviour
+         (volatile operands might get thrown away though)
 
 2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
 
index af7d6b6d2e9bf456e6e98ea4c03fc4d2e67ec7d3..f7e67ce66cf3bd6f195da5534f806dc214ff4b21 100644 (file)
@@ -879,14 +879,6 @@ killDeadCode (eBBlock ** ebbs, int count)
              if (IC_RESULT (ic) && isOperandVolatile (IC_RESULT (ic), FALSE))
                continue;
 
-             /* We also cannot remove the iCode, when an operand is volatile.       */
-             /* Even read access can cause side effects on some hardware registers! */
-
-             /* if the left operand is volatile then continue */
-             if (IC_LEFT(ic) && isOperandVolatile (IC_LEFT (ic), TRUE))
-               continue;
-
-
              /* if the result is a temp & isaddr then skip */
              if (IC_RESULT (ic) && POINTER_SET (ic))
                continue;