* src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
[fw/sdcc] / ChangeLog
index bef7add7ad7cd8551c959df4729dfc38b04c97a5..540e2ce49bd4f3205f31057f6ab57cf0f05136c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,56 @@
+2006-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
+         (genSend): bugfix, do not allocate and free twice,
+         (shiftRLong): handle partially overlapping aops
+       * support/regression/tests/bitopcse.c: fixed warning redefined idata
+
+2006-03-08 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/fwk/include/testfwk.h: added defines for xdata, idata
+         for pic16
+
+2006-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1409955.c: new, added
+       * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking
+       * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1,
+         (aopForSym, aopOp): increment asmop.allocated if reused,
+         (freeAsmop): decrement asmop.allocated and check for zero instead of
+         using asmop.freed,
+         (freeForBranchAsmop): use asmop.allocated instead of asmop.freed,
+         (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt,
+          genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC,
+          genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap,
+          genLeftShiftLiteral, genLeftShift, genRightShiftLiteral,
+          genSignedRightShift, genRightShift, genDataPointerGet,
+          genPagedPointerGet, genFarPointerGet, genCodePointerGet,
+          genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's
+           in reverse order from allocation,
+         (genPlus, genCmpEq): free asmop's in reverse order from allocation and
+           added swappedLR to keep track
+       * support/regression/fwk/include/testfwk.h: added defines for xdata, idata,
+         pdata & code for GCC, z80, gbz80 & hc08
+       * support/regression/tests/zeropad.c: moved defines to testfwk.h
+
+2006-03-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425
+
+2006-03-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/c8051f410.h: new SiLabs mcu
+       * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401
+       * support/regression/tests/array.c: added parenthesis, made arrays unsigned
+
+2006-03-06 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/ports/pic16/spec.mk: link with libm18f.lib,
+         made the linker quiet
+
 2006-03-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
 
+       * src/pic16/gen.c (genPcall): fixed bug #1443644
        * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
        which dumps before the function entry point a data byte which represents
        the number of the local variables used by the specified function, added
@@ -22,7 +73,7 @@
        --extended or -y for Extended Instruction Support,
        * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
        (deassignLRs): *** perhaps the most important change, old 'for' code
-       (comented out for reference), didn't account for some registers which
+       (commented out for reference), didn't account for some registers which
        were left marked 'not free' after a pointer operation. The change
        reduces register usage a lot in some cases