Try to make the peephole optimizer smarter by maintaining
[fw/sdcc] / ChangeLog
index 9ebd65e3864dd5586c3fe0f4ec6d1d0e0ad6d3ed..4d2e1adea04a48ec887a5b70fa4e94ca2844ab62 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2003-08-22  Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Try to make the peephole optimizer smarter by maintaining
+       an association between the assembly source code and the
+       iCodes that originated them. Put this information to use
+       with a new peephole rule condition "notVolatile" so that
+       the rules can be aggressive yet still safe.
+
+       * src/SDCCpeeph.c
+       * src/SDCCpeeph.h
+       * src/mcs51/gen.c
+       * src/mcs51/peeph.def
+
+2003-08-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Fixed bug #741761
+
+       * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
+       * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
+       if the left or right operand symbols have the accuse flag set.
+
+2003-08-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Changed the type of the result of the ! (NOT) operator to char;
+       previously it returned the same type as the source. This allows
+       us to eliminate all the genFloatNot functions (all of its target
+       implementations were very buggy) since !float can use the same
+       code as !long now.
+
+       * src/SDCCicode.c (ast2iCode): ! returns char
+       * src/mcs51/gen.c (genNot, genNotFloat),
+       * src/ds390/gen.c (genNot, genNotFloat),
+       * src/z80/gen.c (genNot, genNotFloat),
+       * src/pic/gen.c (genNot, genNotFloat),
+       * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
+
 2003-08-19  Bernhard Held <bernhard@bernhardheld.de>
 
        pic patch provided by Slade Rich <slade_rich@yahoo.com>
@@ -26,7 +62,7 @@
 
 2003-08-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
 
-       * src/z80/gen.c (isUnsplitable, fetchPairLog): fixed bug #770454
+       * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
 
 2003-08-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>